csharp 无法确定X关系的主要结束。多个添加的实体可以具有相同的主键。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了csharp 无法确定X关系的主要结束。多个添加的实体可以具有相同的主键。相关的知识,希望对你有一定的参考价值。

Companies - Id, Heading, Description, Address, etc.
Customers - Id, CompanyId, FullName, Address, Phone, etc.

I'm using Repository with UnitOfWork, but you will see general entity framework dbcontext add and save method with commented.

for (int i = 0; i < 10; i++)
{
	var company = new COMPANIES
	{
		Id = i + 1, // we are just adding id for temp, don't worry database does not care of this. At the end you will see the results.
		Heading = "_company_name_" + i + 1,
		Description = "_test_description_" + i + 1,
		... // other fields that you need to fill
	};
	
	_uow.Repository<COMPANIES>()
		.Add(company);

	// db.COMPANIES.Add(company);
		
	for (int j = 0; j < 2; j++)
	{
		var customer = new CUSTOMERS
		{
			CompanyId = company.ID, // don't worry here too, because entity framework will get actual companyId from SaveChanges method.
			FullName = "_name_of_customer_" + j + 1,
			... // other fields that you need to fill
		};

		_uow.Repository<CUSTOMERS>()
			.Add(customer);
		
		// db.CUSTOMERS.Add(customer);
	}
}

_uow.SaveChanges();
// db.SaveChanges();

以上是关于csharp 无法确定X关系的主要结束。多个添加的实体可以具有相同的主键。的主要内容,如果未能解决你的问题,请参考以下文章

如何修复 Entity Framework Core 中 X 类型错误的“无法确定导航 X 表示的关系”

csharp 在C#中扩展字符串。此示例扩展字符串类型以添加​​函数以删除字符串的结束值。

csharp 演示在单个查询中使用关系结构而不是使用多个查询的Aras最佳实践。这个案子得到了

EF Core 中的一对一关系(无法确定一对一关系的子/依赖方)

使用 debezium 确定交易的结束

csharp 添加多个相同数组