C# 联合后的新专栏
我在VisualStudio中创建了两个表,比如TA和TB。在edmx文件中,我在TA和TB之间建立了1对多的关联。建立关联后,在TB中生成一个名为C# 联合后的新专栏,c#,sql,database,ado.net,C#,Sql,Database,Ado.net,我在VisualStudio中创建了两个表,比如TA和TB。在edmx文件中,我在TA和TB之间建立了1对多的关联。建立关联后,在TB中生成一个名为TAId的新列 我只是想知道是否必须在数据库的TB表中添加该列 编辑:我得到的异常: msl(23,10):错误3004:映射从 第23行:未为集合中的属性CourseOption.MenuId指定映射 课程选项 具有密钥(PK)的实体在以下情况下不会往返: 实体类型为[CeremonyDBModel.CourseOption] 仪式。msl(31,
TAId
的新列
我只是想知道是否必须在数据库的TB表中添加该列
编辑:我得到的异常:
msl(23,10):错误3004:映射从
第23行:未为集合中的属性CourseOption.MenuId指定映射
课程选项
具有密钥(PK)的实体在以下情况下不会往返:
实体类型为[CeremonyDBModel.CourseOption]
仪式。msl(31,10):
错误3004:映射从第31行开始的片段时出现问题:没有映射
为设置菜单中的properties Menu.CeremonyId指定
具有密钥(PK)的实体
在以下情况下不会往返:
实体类型为[CeremonyDBModel.Menu]
一对多关联是通过让子表中的记录引用其父表来完成的 以客户和购买为例。一个客户可以进行多次购买,但每次购买只能属于一个客户。考虑以下两个表:
customers purchases
============ ===========
id name id customer_id product
每个客户都有一个唯一的ID和名称。每次购买都有一个唯一的ID和产品名称。但是,为了具有一对多关联,采购表还必须引用进行采购的客户。您不能反向执行此操作,否则会有重复的客户名称,每个客户都引用某项购买
例如:
customers purchases
============ ===========
id name id customer_id product
--- -------- --- ------------ --------
1 John 1 1 apple
2 Mary 2 1 orange
3 2 banana
在这个例子中,你可以看到约翰买了一个苹果和一个桔子,玛丽买了一个香蕉
采购表需要customer\u id
列来建立与customers表的关系
通过创建TA和TB表之间的关联,Visual Studio为您创建了列
TAid
,因为这就是像MS SQL Server这样的关系数据库处理它们的方式。TB中是否有其他列表示TA中父记录的主键?然后必须按照Visula Studio的建议,将TA_ID列添加到表TB中。是的,我这样做了,但当我从数据库更新模型时,它会再次生成使用TA_ID_1名称的新列,但此列不在数据库表中,因此这就是为什么我在运行应用程序时出现异常,为什么?如果您在尝试运行应用程序时遇到异常,您应该在问题中发布异常文本。抱歉,我刚刚发布了异常文本,请看一看,希望有人能帮忙;不幸的是,我对您遇到的异常类型一点也不熟悉。