Я немного слаб в LINQ to SQL, поэтому попытаюсь объяснить мою проблему.Получить еще один класс из запроса LINQ to SQL
У меня есть метод следующим образом (упрощенно объяснить это лучше):
public static List<ic_ProductData> GetCompleteSimilarProductsWithApplyButton(InfoChoiceAdminDataContext db)
{
var products = (from
p in db.ic_ProductDatas
join proddef in db.ic_ProductDefs on p.ProductDefId equals proddef.ProductDefId
select p
).ToList();
return products;
}
ic_ProductData
и ic_ProductDefs
столы в моей базе данных
ic_ProductData
класс содержит вручную созданный свойство, как:
public ic_ProductDef RelatedProductDef { get; set; }
Я хочу изменить приведенный выше запрос LINQ to SQL, чтобы я мог заполнить это свойство.
Обратите внимание, что я не хочу другого вызова в базе данных.
Также есть много свойств в ic_ProductData
, поэтому я хочу, чтобы избежать отображения и каждый дом
Что-то эффект следующее (очевидно, ниже неправильно):
public static List<ic_ProductData> GetCompleteSimilarProductsWithApplyButton(InfoChoiceAdminDataContext db)
{
var products = (from
p in db.ic_ProductDatas
join proddef in db.ic_ProductDefs on p.ProductDefId equals proddef.ProductDefId
//trying to change here
select new ic_ProductData
{
//do something with p here so that all the properties of new object gets filled
// avoid mapping of properties here
RelatedProductDef = proddef
}
).ToList();
return products;
}
С мои ограниченные знания я застрял здесь.
Пожалуйста, помогите!
Заранее благодарен!
'.ToList()' не нужно, поскольку оператор возвращает 'System.Linq.IQueryable <>', который может быть использован в цикле foreach вместо – ViRuSTriNiTy
@ViRuSTriNiTy это действительно не нужно, я нахожу его влияние (в производительности) минимальны. –
@Tom Wuyts Это кажется хорошим решением. Дайте ему шанс! Скоро вас обновит. Проголосуйте от меня. – samar