【发布时间】:2015-05-28 19:42:52
【问题描述】:
我有一个具有拥挤实体模型的项目。大多数表是相互关联的(一对多、多对多和多对一)。我需要获取所有相互关联的表名。
通过下面的代码,我可以得到一个类的所有props,并通过Split方法消除类型,得到与该类相关的其他表。
List<string> tabloIsimleri = new List<string>();
public object GetTableList()
{
var List = dbContext.Takips.ToList();
foreach (var item in List)
{
foreach (_PropertyInfo p in typeof(Takips).GetProperties())
{
var propName = p.PropertyType.FullName;
if (propName.Contains("ProjectName.DataService"))
{
string[] test = p.Name.Split(' ');
int a = test.Count();
var son = test[a - 1];
if (!tabloIsimleri.Contains(son))
{
tabloIsimleri.Add(son);
}
}
}
}
return tabloIsimleri;
}
此方法会返回所有与“Takips”相关的表格。除了为所有表格手动执行此操作外,我如何才能访问所有相关表格?
假设我创建了一个新的Dictionary<string, List<string>> 并将键设置为表名,并使用与设置为键的表相关的表名填充List<string>。通过这种方式,我可以拥有所有这些。但是,我无法计划场景。
【问题讨论】:
标签: c# entity-framework mapping foreign-key-relationship