- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
创建 EF4 EntityConnection 的成本如何?我正在使用 SQL Compact 创建一个 EF4 桌面应用程序,用户将能够使用“文件打开”对话框打开数据库文件。然后我的代码构建一个 EntityConnection,如下所示:
// Configure a SQL CE connection string
var sqlCompactConnectionString = string.Format("Data Source={0}", filePath);
// Create an Entity Connection String Builder
var builder = new EntityConnectionStringBuilder();
// Configure Builder
builder.Metadata = string.Format("res://*/{0}.csdl|res://*/{0}.ssdl|res://*/{0}.msl", m_EdmName);
builder.Provider = "System.Data.SqlServerCe.4.0";
builder.ProviderConnectionString = sqlCompactConnectionString;
var edmConnectionString = builder.ToString();
// Create an EDM connection
var edmConnection = new EntityConnection(edmConnectionString);
我有一个 ObjectContextFactory 类,它根据需要为 Repository 类创建对象上下文。
所以,这是我的问题:在我初始化工厂时构建一次 EntityConnection 是更好的做法,还是工厂每次创建对象上下文时都应该构建一个新连接?感谢您的帮助。
最佳答案
据我所知,EF4 中的开销很小 - 请验证 here - 基本上它归结为打开一个新的数据库连接,如果提供者支持连接池(SQL 服务器支持连接池),即使这个成本也很小。
来自 MetadataWorkspace 的元数据被全局缓存,因此这不会降低性能(在 2009 年发布链接到另一篇博文的博文时可能并非如此)。
此外,配置文件中的连接字符串(该博文中指出的其他性能问题)都缓存在内存中,因此我也看不出这会对性能产生怎样的负面影响。
我肯定会为每个工作单元使用一个新的实体连接。
关于entity-framework - Entity Framework 4 : How expensive is it to create an EntityConnection?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5425516/
我有一个关于 EntityFramework with CodeFirst 方法的问题。基于 EntityConnection 源代码和文档,我无法使用已打开的 SqlConnection 创建它。它
关于管理 EntityContext 生命周期有很多问题, 例如Instantiating a context in LINQ to Entities 我得出的结论是,实体上下文应被视为一个工作单元,
“EntityConnection 只能用关闭的 DbConnection 构造”这是我在尝试构建提供开放连接的实体连接时遇到的问题。有一个 transactionscope 打开,我不想打开一个新连
我有一个使用 EF CTP5 的应用。 在这种特殊情况下,我需要降级到一些经典的 ADO.NET(以便在存储过程中读取多个结果集,这是 EF 不支持的)。 因此,我尝试使用 EntityConnect
例如: SqlConnection connection = new SqlConnection(efContext.Connection...?) connection.Open(); etc..
出于集成测试目的,我想在测试夹具设置中手动创建并打开 EntityConnection。调用 Open() 方法时失败并出现以下异常: System.Data.ProviderIncompatible
创建 EF4 EntityConnection 的成本如何?我正在使用 SQL Compact 创建一个 EF4 桌面应用程序,用户将能够使用“文件打开”对话框打开数据库文件。然后我的代码构建一个 E
我在使用 EntityConnection 时收到此错误,我不知道如何解决。使用 ObjectContext 时,我可以设置属性 DefaultContainerName 并且它可以工作,但现在我不知
(这曾经是一个由两部分组成的问题,但由于第二部分确实很重要,所以我决定将其分成两个单独的帖子。请参阅 Using Serialization to copy entities between two
我的大部分数据库操作都使用 Linq2Entity。然而,对于数据库创建、表创建和初始数据插入,我使用纯 SQL 文件。因此我需要一个 SqlConnection 和一个 EntityConnecti
我是一名优秀的程序员,十分优秀!