C# 3个相互关联表的实体框架映射
我的问题是: 我的数据库中有3个表C# 3个相互关联表的实体框架映射,c#,entity-framework,sql-server-ce,relationship,C#,Entity Framework,Sql Server Ce,Relationship,我的问题是: 我的数据库中有3个表 电影(电影列表) 身份证 原始 类型(包含所有可能类型的表格) 身份证 名字 相关类型(属于特定电影并指向特定类型的类型,因为电影可以有多个类型) 身份证 电影ID 根里德 这些关系如下所示: Movies.ID->relatedTyres.MovieID->tyres.ID 我有一个带有关联(导航属性)的模型。 我得到的: class Movie { public int ID { get; set; } public string
- 身份证
- 原始
- 身份证
- 名字
- 身份证
- 电影ID
- 根里德
class Movie
{
public int ID { get; set; }
public string OriginalTitle { get; set; }
public ObjectCollection<RelatedGenre> RelatedGenres { get; set; }
}
class Movie
{
public int ID { get; set; }
public string OriginalTitle { get; set; }
public ObjectCollection<Genre> Genres { get; set; }
}
类电影
{
公共int ID{get;set;}
公共字符串源代码{get;set;}
public ObjectCollection RelatedTyres{get;set;}
}
在哪里
类相关类型
{
公共int ID{get;set;}
public int MovieID{get;set;}
公共对象集合类型{get;set;}
}
我想要什么:
class Movie
{
public int ID { get; set; }
public string OriginalTitle { get; set; }
public ObjectCollection<RelatedGenre> RelatedGenres { get; set; }
}
class Movie
{
public int ID { get; set; }
public string OriginalTitle { get; set; }
public ObjectCollection<Genre> Genres { get; set; }
}
类电影
{
公共int ID{get;set;}
公共字符串源代码{get;set;}
公共对象集合类型{get;set;}
}
正如你们所看到的,我想跳过这个相关类型数组中的数据&只需要得到具体类型数组
我怎样才能做到这一点?
提前感谢=)您需要删除
relatedTyres
表中的ID
列。多对多关系的联接表应仅包含参与实体的键
EF将自动为关系建模,如您在最终代码示例中所示。您需要删除
RelatedGenres
表中的ID
列。多对多关系的联接表应仅包含参与实体的键
EF将自动为关系建模,如您在最终代码示例中所示。所以您希望将两个表合并为一个实体,对吗?你有麻烦是因为它是一个集合吗?这个问题是完全相同的,答案是有效的。可能重复,因此您希望将两个表合并为一个实体,对吗?你有麻烦是因为它是一个集合吗?这个问题是完全相同的,答案是有效的。可能的重复只需确保
{MovieID,GenreID}
是RelatedGenres
表的主键,否则您的结构将允许重复关联(在这种情况下这不是很有用)。只需确保{MovieID,GenreID}
是RelatedGenres
表的主键,或者,您的结构将允许重复的关联(在这种情况下这不是很有用)。