我将Linq2Entity用于大多数数据库操作。但是对于数据库创建,表创建和初始数据插入,我使用普通的SQL文件。因此,我需要一个SqlConnection和一个EntityConnection。不幸的是,实体框架开始抱怨Sql Server没有在管道的另一端监听。
我不确定这是什么问题,可能是由于用户实例化。清除SqlConnection池或处置连接实例无济于事。
我正在使用的连接字符串如下:
“数据源=。\ SQLEXPRESS;初始目录= dbname;集成安全性= SSPI;”
更新:
我曾尝试使用EntityConnection进行数据库维护,但遇到了麻烦。我无法使用EntityConnection创建数据库和删除数据库。 EntityConnection不支持以下语法,但对于与ms SQL Express的SqlConnection而言,它可以正常工作。
CREATE DATABASE silverfit ON ( NAME = silverfit, FILENAME = 'c:\silverfit\silverfit.mdf' );
同样由于某种原因,EntityConnection不允许我更改数据库,这对于删除数据库是必需的。恐怕我仍然需要SqlConnection来创建数据库和表。
对于本地ms SQL Express数据库,SqlConnections和EntityConnections是否可以共存?
谢谢,
伍特
最佳答案
您是否尝试过创建SqlConnection,然后将其传递给EntityConnection的构造函数? EntityConnection的重载之一采用了MetadataWorkspace和DbConnection(SqlConnection派生自DbConnection。)这样做的轻微缺点是,您必须手动创建MetadataWorkspace,它会收集定义您的.csdl,.ssdl和.msl文件。工作区。但是,从长远来看,您应该能够为执行DML查询和使用Entity Framework共享一个连接。
关于c# - 并发SqlConnection和EntityConnection到本地Sql Express服务器,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/516873/