【发布时间】:2014-04-15 10:56:45
【问题描述】:
我有一个非常简单的情况,有 2 张桌子
public class Movie
{
[Key]
public Guid ID { get; set; }
public string Name { get; set; }
public byte[] Hash { get; set; }
public int GenreID{ get; set; }
[ForeignKey("GenreID")]
public virtual Genre genre{ get; set; }
}
和
public class Genre
{
public int ID { get; set; }
public string Name { get; set; }
}
现在,在导入序列中,我想创建新电影并将流派与流派表中的现有条目链接,或者如果它们不存在,则创建新的流派条目。
Movie m = new Movie();
m.ID = Guid.NewGuid();
IndexerContext db = new IndexerContext();
var genre = db.Genre.Where(g => g.Name== genreValue).FirstOrDefault();
if(genre!= null)
{
m.GenreID= genre.GenreID;
}
else
{
genre= new Genre();
genre.Name = genreValue;
db.Genres.Add(genre);
var genreCreated= db.Genre.Where(g => g.Name== genreValue).FirstOrDefault();
m.GenreID= genreCreated.GenreID;
}
现在的问题是,它不起作用。最后一行失败,因为genreCreated 为空。
另外,我想我一定是做错了——在Entity Framework 中并没有那么难。
谁能帮帮我?
【问题讨论】:
标签: asp.net sql asp.net-mvc database entity-framework