【发布时间】:2013-07-11 14:58:38
【问题描述】:
我正在学习 Web 服务,我正在使用的书是使用实体框架从 SQL Server 中提取数据(我对此也知之甚少)。
不幸的是,实体框架创建的类包含以下内容:
public Conference()
{
this.Sessions = new HashSet<Session>();
}
public virtual ICollection<Session> Sessions { get; set; }
由于接口不可序列化而导致问题:
无法序列化类型的成员 X System.Collections.Generic.ICollection ... 因为它是一个接口。
现在我可以(并且确实)修改生成的类以使用具体类,但如果我需要重新生成实体,那么该更改将被撤消。理想情况下,我可以告诉实体框架生成这样的东西(或者更好的是,控制具体类型,这样我可以告诉实体框架使用 List 如果我愿意):
public Conference()
{
this.Sessions = new HashSet<Session>();
}
public virtual HashSet<Session> Sessions { get; set; }
有可能吗?如果有,怎么做?
【问题讨论】:
-
这比我想象的要复杂一些(我不需要为那个练习使用界面),但它很有趣且内容丰富,所以感谢它。我没有时间详细查看它,但我认为代码优先的方法和映射到现有数据库对于我的想法来说似乎是一种可行的方法:msdn.microsoft.com/en-us/data/jj200620.aspx
标签: c# .net entity-framework