给你举个例子:
static void Main(string[] args){
using (MyDBEntities en = new MyDBEntities())
{
var p1 = enPeopleFirst(x =>
xName == "Jim");
ConsoleWriteLine(p1Age);
var p2 = enDatabaseSqlQuery<Person>(
@"select top 1 from person
where name = 'Jim'")
First();
ConsoleWriteLine(p2Age);
//p1 p2是同一个记录
}
ConsoleReadLine();
}
EF可以支持多数据库的,比如sql server, mysql , oracle,它可以做到迁移数据库,可以几乎不改代码,但是,edmx其实是一个配置文件,也包含了目标数据库的信息。
如果要做到更改配置就可以切换数据库,那么,有以下几点:
1:3种数据库的provider的文档要仔细看,确认哪些功能是不被支持的,取支持功能的最小集,写进开发规范,规定哪些linq语句不允许写。
2:为3种数据库准备3套edmx,这样比较简单,也可以把ssld之类生成在dll之外,然后动态修改,但容易出错且麻烦。不论是dbfirset还是codefirst,根据目标数据库类型重新生成edmx都比较简单。
3:更改连接串,EF的连接串中,需要指定传统连接串/EF的provider/相应的edmx配置(ssld,csdl,msl),把这3个要素都根据1,2配置为你的目标数据库对应的配置之后,理论上,你的代码就可以直接运行。
以上就是关于EF怎么使用SQL语句查询到结果然后映射到自定义实体去全部的内容,包括:EF怎么使用SQL语句查询到结果然后映射到自定义实体去、entity framework 支持哪些数据库、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)