我对EF不太熟悉,我试图弄清楚什么是正确的方式或创建实体的选项是什么,其中的集合可以包含在其他实体(不同的表)中。 让我们说我有三个现有的类(ModuleA,ModuleB,ModuleD),我想包含它自己的数据实体集合。 我想要一个用于数据实体的单个表,但我不喜欢每个FK有三个可以为空的Guid列的想法。 这也让我在应用迁移时出错(" ......可能导致循环或多个级联路径") - 这可能通过手动删除级联删除和删除数据来解决,但我不喜欢那个想法。
我最想要的是所有三个模块的FK数据的单个(共享)Guid属性,这是不可能的,至少在同一时间所有三个主表中都不存在相同的ID(因为它创建了三个数据库中的FK。
user[0]
答案 0 :(得分:0)
您可以创建3个模块到数据的多对多表格,如下所示:
class Data
{
public int Id {get; set;}
public byte[] Values {get; set;}
}
class ModuleAData
{
public ModuleAId {get; set;}
public DataId {get; set;}
}
class ModuleA
{
public Guid Id {get; set;}
public ICollection<ModuleAData> Data {get; set;}
// some other stuff...
}