我最近开始在我的.NET 4.0应用程序中使用Entity Framework 4.0,并对与池化相关的一些事情感到好奇.
据我所知,连接池由ADO.NET数据提供程序管理,在我的情况下是MS SQL服务器.当您实例化新的实体context(ObjectContext)时,这是否适用,即无参数new MyDatabaseModelEntities()?
a)为应用程序创建全局实体上下文(即一个静态实例)或b)使用using块为每个给定操作/方法创建和公开实体上下文有哪些优点和缺点.
我应该了解的某些场景的任何其他建议,最佳实践或常用方法?
我正在开发ASP.NET应用程序,我有EF 4.0模型的问题.
EF模型检测新添加和删除的数据,但不检测数据库中的修改数据.
这是我所拥有的问题的一个例子.
A-数据库:
用于生成"Employees"数据库表的脚本
CREATE TABLE [dbo].[Employees]
(
[id] [int] IDENTITY(1, 1)
NOT NULL,
[name] [nvarchar](50) NULL,
CONSTRAINT [PK_Employees] PRIMARY KEY CLUSTERED ( [id] ASC )
WITH ( PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF,
IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON,
ALLOW_PAGE_LOCKS = ON ) ON [PRIMARY]
)
ON [PRIMARY]
Run Code Online (Sandbox Code Playgroud)
B-应用:
以下是示例项目的链接Click Here.
重现错误的步骤:
1-创建数据库并运行脚本以创建表.
2-在employees表中插入测试数据,然后运行该应用程序.数据将加载到默认页面中.
3-更改连接字符串并运行应用程序.
3-更新数据库中的某些值(直接形成sql).并刷新页面
您会发现应用程序仍然显示旧数据,而如果您从表中添加或删除项目,则分别在视图中添加或删除它.
在此先感谢您的帮助.