我使用Entity Framework5,首先对我使用的数据库进行逆向工程编码,然后我添加了一个ADO.NET实体数据模型,这样我就可以使用存储过程,因为反向工程代码最初没有提供对sprocs的使用。这是访问sprocs的唯一方法吗?
此外,我意识到在完成逆向工程代码的第一个过程之后,会创建一堆类(数据库中的表),但是一旦我添加了ADO.NET实体数据模型,大多数类就消失了。有人知道为什么吗?
发布于 2013-03-29 07:26:29
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
发布于 2013-03-29 07:15:52
有一种模式可供您使用代码优先方法创建或支持存储过程。下面是一个链接,您可以使用该链接来执行以下操作:
http://www.codeproject.com/Articles/179481/Code-First-Stored-Procedures
简而言之,您需要执行与模型相同的操作。首先,创建一个支持输入的类和一个支持结果集的类。
以及数据实体模型和缺少的类。您需要考虑在项目中只能有一种方法:代码优先/(模型优先/数据库优先),因此这可能是您看不到这些类的原因。
发布于 2013-03-29 03:11:07
您可以使用Context.Database.SqlQuery运行SP。
https://stackoverflow.com/questions/15690155
复制相似问题