EntityFramework.dll的DbContext与Microsoft.data.Entity.CTP的DbContext
问题描述:
冲突的抓起这个从样品:EntityFramework.dll的DbContext与Microsoft.data.Entity.CTP的DbContext
protected override ObjectContext CreateDataSource()
{
NorthwindContext nw = new NorthwindContext();
// Configure DbContext before we provide it to the
// data services runtime.
nw.Configuration.ValidateOnSaveEnabled = false;
// Get the underlying ObjectContext for the DbContext.
var context = ((IObjectContextAdapter)nw).ObjectContext;
// Return the underlying context.
return context;
}
修改了它使用的是我有我的项目中的DbContext类。
编辑:澄清,我从一个的DbContext类只是作为样品做铸造:
public class NorthwindContext : DbContext
{
// Use the constructor to target a specific named connection string
public NorthwindContext()
: base("name=NorthwindEntities")
{
// Disable proxy creation as this messes up the data service.
this.Configuration.ProxyCreationEnabled = false;
// Create Northwind if it doesn't already exist.
this.Database.CreateIfNotExists();
}
运行代码给我就行了铸造的DbContext的错误:
无法投入'MyProject.MyDbContext'类型的对象来键入'System.Data.Entity.Infrastructure.IObjectContextAdapter'。
尽管实现的DbContext IObjectContextAdapter:
public class DbContext : IDisposable, IObjectContextAdapter
我已经在这里发现了几个问题,对SO和其他谷歌搜索源,但没有解决方案,我已经找到了工作。
我正在使用实体框架4.2,试图更新到4.3测试版,我不确定是否卡住。
总体目标是将WCF中的数据作为DataService提供。
更新:进一步挖掘我发现有什么之间我的DbContext是(从EntityFramework.dll)和WCF项目(从Microsoft.data.Entity.CTP)
类型的歧义问题不知道如何从这里得到我想要的...
答
只是提醒,这里的问题是EntityFramework.dll和Microsoft.Data.Entity.CTP之间的歧义导致我为我的DataInitializer DbContext失去功能。
我在这里通过更换我初始化程序解决了这个问题:
public class MyDataInitializer : RecreateDatabaseIfModelChanges<MyData>
{
public void Seed(MyData context)
要:
public class MyDataInitializer : IDatabaseInitializer<MyData>
{
public void InitializeDatabase(MyData context)
现在我可以访问我的DataService。
只有一个
你能检查你的NorthwindContext是不是一个ObjectContext本身吗? – ivowiblo 2012-01-27 20:01:17
@ivowiblo编辑澄清。 – KenEucker 2012-01-27 20:12:02
是否有可能对两个不同的EntityFramework.dll程序集有两个不同的引用?看起来你有两个版本的IObjectContextAdapter,一个不能转换为另一个版本。确保你只有一个EntityFramework.dll版本。我认为WCF数据服务(它是你尝试的十月CTP)应该与最新版本的EntityFramework一起工作... – Pawel 2012-01-27 23:46:19