我有一个使用ADO.NET实体框架的应用程序(VS2008版本,而不是更新、更酷的版本),我需要能够调用底层的DBMS(它是postgres)以调用一些实体框架不支持的SQL。
有没有办法从Entity Framework ObjectContext转换到可以让我执行原始SQL的东西?(我需要在插入之前运行TRUNCATE TABLE)我可以接受一个hacky的解决方案(例如,从EF中提取DBMS的连接字符串信息,并使用postgres ADO.NET提供程序创建一个连接),但不想管理两组连接字符串(一个用于实体框架,一个用于ADO.NET)。
我知道Entity Framework第一个版本的限制,但将此应用程序切换到另一个ORM所需的投资不值得,也不能使用EF 4.0。
有什么想法吗?
顺便说一下,这与Is it possible to run native sql with entity framework?是相同的问题,但那个答案中描述的解决方法对我来说不起作用,因为我确实需要执行原始SQL。
有没有办法从Entity Framework ObjectContext转换到可以让我执行原始SQL的东西?(我需要在插入之前运行TRUNCATE TABLE)我可以接受一个hacky的解决方案(例如,从EF中提取DBMS的连接字符串信息,并使用postgres ADO.NET提供程序创建一个连接),但不想管理两组连接字符串(一个用于实体框架,一个用于ADO.NET)。
我知道Entity Framework第一个版本的限制,但将此应用程序切换到另一个ORM所需的投资不值得,也不能使用EF 4.0。
有什么想法吗?
顺便说一下,这与Is it possible to run native sql with entity framework?是相同的问题,但那个答案中描述的解决方法对我来说不起作用,因为我确实需要执行原始SQL。
ExecuteSql
是否使用了c
相同的数据库连接?因为我希望它们在同一个事务中。谢谢。 - Joe.wangc.Database.SqlQuery
和c.Database.ExecuteSqlCommand
。 - Mohamed Nuur