C# 我可以在没有实体框架的情况下声明dbcontext吗

C# 我可以在没有实体框架的情况下声明dbcontext吗,c#,entity-framework,C#,Entity Framework,我正在构建一个将实体框架模型对象转换为另一个对象的工具。新对象应另存为文件。我声明一个对象,如下所示: using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Data.Entity; namespace CreateBusinessObjectByEF { class Business

我正在构建一个将实体框架模型对象转换为另一个对象的工具。新对象应另存为文件。我声明一个对象,如下所示:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Data.Entity;

namespace CreateBusinessObjectByEF
{
    class BusinessObjectBuilder
    {
        private DbContext db;
        private DbSet dbSet;
    }
}
但是字符串
DbContext
DbSet
被红线标记,因为名称空间错误。我已经添加了对
System.Data.Entity
的引用,我不想添加对Entity Framework的引用,因为我希望我的应用程序可以在所有版本的EF上运行


谁能帮我?谢谢

您将使用
EntityFramework.dll
DbContext
DbSet
)中的类型,并且不想添加对
EntityFramework.dll
的引用。我错过什么了吗?如果我不是,那么这是不可能的。如果您想成为EF版本不可知论者,请扔掉
DbContext
API并使用
ObjectContext
one。请注意,这种方法不适用于EF7(它将完全抛弃
ObjectContext
API,AFAIK)。也许,你会告诉我们你真正的任务?那是行不通的。@Dennis不,你没有遗漏任何东西。OP对.NET framework的期望过高。:)@Dennis,我只想成为EF版本不可知论者,因为我需要的是在DbContext中获取DbSet,并根据DbSet的属性构建一个新的类文件。所以我认为这个应用程序可以是EF版本不可知的。我说的对吗?@user2155362:你的意见是什么?它是C#源代码还是编译程序集?您是否需要
BusinessObjectBuilder
中的
DbContext
DbSet
属性?如果是,原因是什么?也许,反射会对您有所帮助?您将使用
EntityFramework.dll
DbContext
DbSet
)中的类型,并且不希望添加对
EntityFramework.dll
的引用。我错过什么了吗?如果我不是,那么这是不可能的。如果您想成为EF版本不可知论者,请扔掉
DbContext
API并使用
ObjectContext
one。请注意,这种方法不适用于EF7(它将完全抛弃
ObjectContext
API,AFAIK)。也许,你会告诉我们你真正的任务?那是行不通的。@Dennis不,你没有遗漏任何东西。OP对.NET framework的期望过高。:)@Dennis,我只想成为EF版本不可知论者,因为我需要的是在DbContext中获取DbSet,并根据DbSet的属性构建一个新的类文件。所以我认为这个应用程序可以是EF版本不可知的。我说的对吗?@user2155362:你的意见是什么?它是C#源代码还是编译程序集?您是否需要
BusinessObjectBuilder
中的
DbContext
DbSet
属性?如果是,原因是什么?也许,反思会帮助你?