我有一个 SQL 表,但客户删除了所有外键,并且不会让我用所有外键重建表。
我在数据库优先方法上使用了实体框架,我有类似的东西:
public class MainTable
{
MainTableID,
TableChildOneID,
TableChildTwoID,
//... many properties
}
public class TableChildOne
{
TableChildOneID,
//... many properties
}
public class TableChildTwo
{
TableChildTwoID,
//... many properties
}
我创建了一个代表“真实”链接嵌套类的类,例如:
public class MainTable_Extended : MainTable
{
public TableChildOne ChildOne { get; set; }
public TableChildTwo ChildTwo { get; set; }
}
注意 MainTable 包含很多属性
这是我正在寻找干净语法的查询
IQueryable<MainTable_Extended> listMainTable =
from main in db.MainTable
from childone in db.TableChildOne.Where(childone => childone.TableChildOneID == main.TableChildOneID).DefaultIfEmpty()
from childtwo in db.TableChildTwo.Where(childtwo => childtwo.TableChildTwoID == main.TableChildTwoID).DefaultIfEmpty()
select new MainTable_Extended
{
ChildOne = childone ,
ChildTwo = childtwo ,
All others properties coming from => main
};
如何填充我的类 MainTable_Extended 而无需为所有属性手动填充。
大话西游666
相关分类