Tag: 实体 框架

具有entity framework的行级安全性

我一直在考虑如何使用entity framework实现行级安全性。 我们的想法是拥有一个数据库不可知的方法,它将提供限制来自ObjectContext的行的方法。 我的一些初步想法涉及修改EDMGEN工具创建的部分类,并提供了一些有限的支持。 用户仍然可以使用自己的eSQL语句和QueryObject来解决此问题。 我一直在寻找一种全面的解决方案,它将存在于数据库提供商之上,以便它仍然是不可知的。

为什么TransactionScope不能与Entity Framework一起使用?

请参阅下面的代码。 如果我初始化多个实体上下文,那么我只在第二组代码上得到以下exception。 如果我注释掉第二组就行了。 {“底层提供商在Open上失败。”} 内部:{“与底层事务管理器的通信失败。”} 内部:{“错误HRESULT E_FAIL已从调用COM组件返回。”} 请注意,这是一个示例应用程序,我知道连续创建2个上下文没有意义。 但是,生产代码确实有理由在同一个TransactionScope创建多个上下文,并且无法更改。 编辑 这是我之前尝试设置MS-DTC的问题。 似乎在服务器和客户端上都启用了它。 我不确定它是否设置正确。 另请注意,我尝试这样做的原因之一是TransactionScope中的现有代码使用ADO.NET和Linq 2 Sql …我希望那些也使用相同的事务。 (这可能听起来很疯狂,但如果可能,我需要让它工作)。 如何在C#中使用TransactionScope? 解 Windows防火墙阻止了与MS-DTC的连接。 using(TransactionScope ts = new System.Transactions.TransactionScope()) { using (DatabaseEntityModel o = new DatabaseEntityModel()) { var v = (from s in o.Advertiser select s).First(); v.AcceptableLength = 1; o.SaveChanges(); } //-> By commenting out this section, it […]