4
|
Justin Grant · 技术社区 · 15 年前 |
![]() |
1
17
克雷格的回答虽然不太管用,但却让我找到了正确的方向。原来有一个EntityConnection.StoreConnection属性,它可以让您连接到底层DBMS。所以执行“本机”SQL就这么简单:
|
![]() |
2
2
是的,你可以这样做。查看entityConnection.storeConnection。您可以从ObjectContext获取连接。 |
![]() |
3
0
根据 this post 实体框架v1不支持DML。 但是有对存储过程的支持,但只有这些存储过程返回实体。这意味着,如果以这种方式创建存储过程(SQL Server语法):
不能将其作为函数导入(实际上可以,但它不起作用-不会生成此函数的代码) 我已经找到了实现目标的拐杖解决方案:如果您将sp定义为以下值:
您可以作为函数导入并在代码中使用它,如下所示:
(TruncateTable是导入函数的名称) 我认为还有另一个(更好的)解决方案。挖掘的其他方法是修补.edmx文件,使sp不返回工作,或者编写另一个sp并将其映射到表插入函数(该sp必须截断表并插入行) 我希望它能帮助你。 |
![]() |
4
0
谢谢贾斯廷。我花了好几个小时试图弄清楚为什么实体框架连接上的storeConnection属性不可用… 对我来说关键的一点是,您必须将您的EF连接正式转换为System.Data.EntityClient.EntityConnection: VaR NeNCON= (system.data.entityclient.entityconnection)数据库连接; 一旦我这样做了,其他一切都有意义。 |