我的Linq-to-SQL类映射如下:
public class DbCategory
{
public EntitySet<DbProduct> Products { get; set; }
...
}
public class DbProduct
{
public EntityRef<DbCategory> Category { get; set; }
...
}
然后我将我的通用模型作为
public class Category
{
public IList<Product> Products { get; set; }
...
}
public class Product
{
public Category Category { get; set; }
...
}
现在我正在尝试获取我的产品
var products = from p in context.Products
select
new Product
{
Category = new Category
{
OtherProperty = p.Category.OtherProperty
...
//Now how do I set
//the products for this category?
}
};
如果我可以先实例化Product实例,然后调用Category.Products.Add(this);
但是在一个linq语句中完成这一切似乎很难。我错过了一些明显的东西,或者我的设计是否有缺陷?
答案 0 :(得分:0)
您可以创建辅助方法
private static Product CreateProduct(Category category)
{
Product p = new Product();
p.OtherProperty = category.OtherProperty;
// set product or whatever of category
return p;
}
然后通过你的帮助方法创建。
var products = from p in context.Products
select
CreateProduct(p.Category);