jco*_*lum 4 linq linqpad linq-to-sql
假设我有三张桌子:
Office
ID
SalespeopleOffice
ID
OfficeID
PersonID
People
ID
ManagerID
Run Code Online (Sandbox Code Playgroud)
在LINQ to SQL中,如何从SalespeopleOffices表中开始并通过表之间的关系从该表"遍历"到People表或Office表?具体而言,不知道这些关系是什么; 提取有关关系的数据,而不是直接与对象交互.我正在寻找一种以编程方式分析表关系的方法.我正在使用的数据库有比这更多的表,所以实际上它比这复杂得多.
理想情况下,我想创建一个LinqPad脚本来执行此操作.
您可以使用反射来检查上下文中每种类型的属性.(在LinqPad中,上下文是this).
如果你连接关系的两边,你可以弄清楚每种情况下[东西]是什么.那有意义吗?
编辑
我只是捅了一下,而且有更好的方法.模型信息可通过Mapping属性获得.试试这个:
var tableData = from t in this.Mapping.GetTables()
select new
{
t.TableName,
Associations =
from a in t.RowType.Associations
select new
{
a.ThisMember.Name,
TypeName = a.ThisMember.Type.Name
}
};
tableData.Dump();
Run Code Online (Sandbox Code Playgroud)
假设您已激活自动完成功能,通过浏览此元数据的属性,找到您感兴趣的确切数据应该是小菜一碟.
| 归档时间: |
|
| 查看次数: |
1354 次 |
| 最近记录: |