我正在开发一个通过该工具自动生成的类C#
查询 a 的项目。这很好用。Sql Db
sqlmetal
我的问题是,在我的数据库中,我必须拥有具有关系的表(TableA和TableB)many to many
,因此,还有第三个名为TableATableB的表,它只包含TableA和TableB的主键。
因此,正如预期的那样,我的 EntityModel 有一个名为TableA的类,它有一个名为TableATableB的属性,它是所有相关TableATableB行的集合。
这是自动生成的属性:
[global::System.Data.Linq.Mapping.AssociationAttribute(Name="FK_TableATableB_TableA", Storage="_TableATableB", ThisKey="Id", OtherKey="TableAId", DeleteRule="CASCADE")]
public EntitySet<TableATableB> TableATableB
{
get
{
return this._TableATableB;
}
set
{
this._TableATableB.Assign(value);
}
}
问题是我希望TableA有一个名为TableB的属性,它直接为我提供了所有相关TableBSystem.Data.EntitySet<TableB>
行的集合,有没有办法做到这一点?我一直在尝试这样做,但我还没有找到映射它的方法。
澄清一下,我知道一种解决方法可能如下,但我正在尝试看看是否有更好的方法。此外,这样我怎么知道何时将TableB对象添加到集合中以添加相应的 TableATableB 对象?
partial class TableA
{
public List<TableB> TableB
{
get
{
List<TableB> tableBRows = new List<TableB>();
foreach (TableATableB tAtB in this.TableATableB)
{
tableBRows.Add(tAtB.TableB);
}
return tableBRows;
}
set
{
// What to do here?
// I need to know when an element is added in order to add its respective
// TableATableB object
}
}
提前致谢。