我有3个班级:
public virtual ICollection<LifeStyle>;
public virtual ICollection<Hobbies>;
id
和name
; 我使用“Hobbies”类来填充视图侧和服务器端的多个选择,我想保存:
选定的客户有多种生活方式,生活方式有我选择的选项。
每个班级都有一张桌子,但我需要创建一个附加表格,其中包含客户端,生活方式和爱好之间的关系。 例如
ClientId LifestyleId HobbieId
1 1 1
1 1 2
1 1 3
1 2 1
1 2 3
答案 0 :(得分:0)
Classic Normalizaton问题...... Rettig Normalization Poster
查看Puppies / Tricks / Costumes示例(4th Normal)。您基本上希望创建一个“连接”表,其中包含每个键中的一个(客户端/生活方式/爱好)。此复合键必须是唯一的(但不是您的主键...使用代理)。
您的客户端类将具有连接表的虚拟ICollection。同上生活方式&amp;爱好。
你的Join类会向其父母提供虚拟导航。注意并处理循环引用的可能性。
您尚未指定检索数据的方式? SqlCommand的?存储过程?实体框架(ORM)? (假设是SQL Server)
PS:错误形成的问题btw。需要更完整。给出一个通用的问题,你得到的只是通用答案。