.net - 如何在 CLR 存储过程中使用 Entity Framework?

标签 .net sql-server entity-framework stored-procedures sqlclr

我期待将所有逻辑(实现为操作 Entity Framework 4 对象)移动到服务器端。它看起来很简单(由于应用程序结构)和有益的(因为我只有一台旧笔记本电脑作为客户端和一台运行 SQL Server 2008 的坚固服务器,并且为逻辑构建单独的服务只会引入更多延迟如果与在数据库中进行比较)。

那么如何在 CLR 存储过程中正确使用 Entities Framework 并使其使用主机服务器提供的 SqlContext?

突然在网上找不到任何例子了。看起来还没有人吃过这个。这是否意味着这项任务很荒谬,我绝对不应该这样做?使用 T-SQL 和直接访问表而不是 EF 类不是很方便,因为我的模型大量使用继承并且具有非常复杂的表类型结构,其中包含许多非常简单的表。

最佳答案

你不能——至少现在不能。 SQL Server 2005 到 2008 R2 中包含的 CLR 是 .NET 2.0 CLR - Entity Framework 4 需要 .NET 4 框架。

所以现在,当在 SQL-CLR 方法中执行操作时,您只能直接使用 ADO.NET 2.0。

更大的问题仍然存在:到底为什么要在 SQL-CLR 函数中使用 EF4?这些旨在成为存储过程、用户定义的函数、用户定义的聚合 - 但肯定不是成熟的数据库应用程序,真的......

关于.net - 如何在 CLR 存储过程中使用 Entity Framework?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2793363/

相关文章:

SQL Server 2005 : How to add a column to a table at the beginning of the table?

c# - LINQ:根据列值选择重复行

c# - 消息协定转换为 SOAP 消息

c# - WPF:从 XAML 设置 ViewModel,为什么第二个解决方案不起作用?

c# - InvalidCastException 长到 ulong

c# - .net 应用程序在内存中的大小

mysql - MSSQL 和 MySQL 作为链接服务器

sql - 在 SQL 中按日期过滤

entity-framework - MVC 5 通过重用 EF 生成的代码使用 ViewModel 进行编辑

entity-framework - Entity Framework 4.3迁移可移动现有数据