使用存储过程查看模型

时间:2010-10-07 05:33:25

标签: asp.net-mvc linq-to-sql model-view-controller asp.net-mvc-2 stored-procedures

我正在遵循来自Here的scott gu教程,以使用存储过程检索数据。我通过在类上删除SProc来设置存储过程的返回类型。现在我的问题是我们可以设置一些viewmodel作为存储过程的返回类型,因为我的视图是用我的viewmodel

强列表的

3 个答案:

答案 0 :(得分:0)

您可以将存储过程的返回类型与某个自定义类型相关联:在.edmx设计中,单击导入的存储过程并将函数导入名称设置为SomeCustomName并选择返回类型 - >实体 - > SomeEntity。现在拥有存储过程返回实体模型,您可以将这些模型映射到最终返回到视图的视图模型。为视图定制视图模型而不是直接传递SQL传输对象被认为是一种好习惯。

答案 1 :(得分:0)

我编写了一个数据库视图而不是viewmodel,然后将视图拖到dbml并设置要查看的存储过程的返回类型。这解决了我的问题。对其他人来说可能会有所帮助

答案 2 :(得分:-1)

[我还没有对ASP.NET MVC做任何事情,所以这个建议可能会有所改变,但是......]

一种选择是通过右键单击> Add-> Class在dbml设计器中创建ViewModel类。然后,将存储过程放在设计器中的新类上,或者如果失败(就像我经常那样),将存储过程放到设计器表面并设置其返回类型(Properties - > Return Type)到新班级。

这是使存储过程返回自定义类型的一种方法,该类型是真正的LINQ to SQL实体而不是自动生成的存储过程* Result类。 (因为我听说将模型对象传递给视图是不好的形式 - 理想情况下你传递一个ViewModel对象,对吧?)。