我正在使用Entity Framework 5,我首先对我正在使用的数据库进行逆向工程,然后我添加了一个ADO.NET实体数据模型,以便我可以使用存储过程作为逆向工程师代码提供使用sprocs。这是访问sprocs的唯一方法吗?
另外,我意识到在完成反向工程代码第一个进程后,会创建一堆类(来自数据库的表),但是只要我添加ADO.NET实体数据模型,大多数类就会消失。有人知道为什么吗?
答案 0 :(得分:2)
DbContext.Database属性公开了有用的方法 http://msdn.microsoft.com/en-us/library/system.data.entity.database(v=vs.103).aspx
ExecuteSqlCommand( string, object[] )
http://msdn.microsoft.com/en-us/library/system.data.entity.database.executesqlcommand(v=vs.103).aspx
SqlQuery<TEntity>( string, object[] )
http://msdn.microsoft.com/en-us/library/gg696545(v=vs.103).aspx
答案 1 :(得分:1)
您可以使用代码优先方法创建或支持存储过程的模式。这是一个链接,您可以使用此链接:
http://www.codeproject.com/Articles/179481/Code-First-Stored-Procedures
简而言之,您需要执行与模型优先相同的操作,创建一个支持输入的类和一个支持结果集的类。
关于数据实体模型和缺少的类。您需要考虑在项目中只能使用一种方法:代码优先/(模型优先/数据库优先),这可能是您没有看到这些条款的原因。
答案 2 :(得分:0)
您可以使用Context.Database.SqlQuery来运行SP。