ASP.NET Visual Studio 2012使用现有SQL数据库

ASP.NET Visual Studio 2012使用现有SQL数据库,asp.net,visual-studio-2012,Asp.net,Visual Studio 2012,我正在使用Visual Studio 2012创建ASP.NET web应用程序。我尝试使用ASP.NET 4.5入门教程,但它创建了一个简单的本地数据库,所有查询都直接在代码中编写。我正在访问的数据库(SQLServer2008)有15个复杂的存储过程,我真的不想重新键入 当仅从表中获取所有数据时,使用教程中的DBContext示例就可以了,但是如何使用数据库中的存储过程呢?有人能告诉我使用已经存在的存储过程的最佳方法吗 到目前为止,我发现的所有问题(和答案)都与Visual Studio的早

我正在使用Visual Studio 2012创建ASP.NET web应用程序。我尝试使用ASP.NET 4.5入门教程,但它创建了一个简单的本地数据库,所有查询都直接在代码中编写。我正在访问的数据库(SQLServer2008)有15个复杂的存储过程,我真的不想重新键入

当仅从表中获取所有数据时,使用教程中的
DBContext
示例就可以了,但是如何使用数据库中的存储过程呢?有人能告诉我使用已经存在的存储过程的最佳方法吗

到目前为止,我发现的所有问题(和答案)都与Visual Studio的早期版本有关,尽管我知道我可以使用这些问题(因为VS 2012支持向后兼容性),但我希望充分利用我拥有的软件,而不是使用VS 2010中的“最佳实践”


如果您能告诉我如何使用现有的存储过程,或者甚至指导我找到一本书、一个网站,或者其他任何能向我展示这些的东西,我将不胜感激!快乐编码!谢谢你抽出时间

我不得不把几个不同来源的信息拼凑在一起,但我还是能把它做好。以下是我的步骤(我可能做的比我需要的多,但它起了作用),以防它可能会帮助其他人:

  • 在我的项目中添加了一个名为MyContext的类,并告诉它是一个DBContext,然后将它指向我现有的数据库,如下所示:(请注意,我的webconfig文件中的完整连接字符串已经在下面)

    { 公共类MyContext:DbContext { 公共MyContext() :base(“name=MyDatabase”) { } } }

  • MyDatabase将替换为在我的webconfig文件的连接字符串中引用我的数据库的实际名称

  • 我创建了一个名为ProductList的类,它只公开存储过程返回的字段:

    { 公共类产品列表 { [脚手架立柱(假)] public int ProductID{get;set;} [必需,字符串长度(100),显示(Name=“Model”)] 公共字符串ProductName{get;set;} }

  • }

  • 实际上,我创建了一个用户控件(.ascx),它只是一个数据重复器。在控件的代码中,在页面加载之后,我创建了一个名为GetMostPopular的方法:

    公共IEnumerable GetMostPopular() { var db=new MyContext(); IEnumerable result=db.Database.SqlQuery(“MostPopularProducts”); 返回结果; }

  • 在IEnumerable和SQLQuery的内部是我创建的类的名称。它与存储过程“MostPopularProducts”返回的字段完全相同

  • 然后在DataRepeater中,我使用GetMostPopular作为“SelectMethod”:


    '>

  • 5.然后我将用户控件拖放到我希望它显示的页面上


    我希望这对其他人有所帮助。祝您编码愉快!

    我建议您使用SqlClient、SqlCommand、SqlConnection。。。
    非常简单,有有机输出!

    在Google上搜索“sql server 2008调用存储过程dbcontext”会返回大量链接。你是说你找不到任何有用的东西吗?我尝试使用了一些示例,如context.database.SQLQuery,但没有足够的信息可供遵循(这意味着它没有列出所有步骤)因为当我键入context时。(数据库不是列表中可用的选项)。我还尝试使用我找到的IEnumerable示例,它抛出一个异常,表示DataReader不包含上下文中的所有字段。