我创建了一个windows窗体应用程序来显示我的数据库中的所有数据。引用Linq-to-SQL中附表的字段
因此数据库有一个名为项目表,分表称为标签,而这两个表有一个1:M的关系。我可以将Linq-to-SQL类添加到我的项目中,然后创建一个DataGrid以访问主Items表,而不会有任何问题。
望着那被LINQ到SQL创建项目类的属性,我可以看到它有标签表连接到它(EntitySet的),但我不能访问任何的标签字段!有没有办法做到这一点?
我想在datagrid中创建一个名为TagsList的新列,并且对于每个Item,我想要显示所有对应的连接列表Tags.Name。我想我可以做这样的事情添加新的属性到项目类像这样:
public partial class Items
{
public string TagsList
{
return this.Tags.Name.Aggregate((x, y) => x + ", " + y));
}
}
但很明显,这是行不通的,因为它没有定义。帮帮我?
你是对的 - Select方法确实给我提供了我想要的值,并且我可以从中汇总名称列表。不幸的是,结果产生的速度非常慢 - 查看SQL分析器指示对主Items表执行一次数据库调用,而对EACH Items执行一次调用。从我想要实现的目标中,必须有更有效的方法来做到这一点。 –