【发布时间】:2018-09-26 10:31:26
【问题描述】:
我有这种类型的实体
具有“n”服务的公司和具有“n”容器的公司和具有“n”服务的公司
- 公司(id_s) -> 服务(id_s, uuid_c)
- 公司(id_s) -> 容器(uuid_c) -> 服务(id_s, uuid_c)
当我向公司添加带有容器的服务时...我有 1 个服务和 1 个带有 1 个服务的容器。 当我向同一家公司添加另一个没有容器(和 uuid)的服务时......我有 2 个服务和 1 个带有 2 个服务的容器! :(
为什么会这样?
我的实体配置的快速架构。
容器:
HasRequired(e => e.company)
.WithMany(e => e.container)
.HasForeignKey(e => e.id_company)
.WillCascadeOnDelete(false);
服务:
HasOptional(e => e.container)
.WithMany(e => e.services)
.HasForeignKey(e => e.uuid_container)
.WillCascadeOnDelete(false);
从数据库中检索数据的代码
if (!result.Any(x => x.id == cfi.id_company))
{
result.Add(cfi.Company);
}
else
{
result.Where(x => x.id == cfi.id_company).FirstOrDefault().result
.Where(x => x.id == cfi.id_company).FirstOrDefault();
a.services.Add(cfi.Company.services.FirstOrDefault());
}
cfi 是服务列表,包括拥有容器和服务的公司
【问题讨论】:
-
你能显示代码吗,你用来保存你描述的这两个场景?
-
不,我不保存这个。暂时只读...
-
好的,那么您用于从数据库中检索数据的代码?
-
好的,我建议修改您的编辑
-
变量result和a的数据类型是什么?
标签: c# entity-framework entity-framework-6 entity