MVC数据库表关系解释

时间:2018-05-04 11:49:19

标签: c# model-view-controller

我希望有人能帮我解释一些MVC 比如说你有,

var orderDetails = new List<App_Orders>();

App_Orders是应用程序正在使用的数据库中的表。所以我说orderDetails是App_Orders类型的List?

在此示例中,假设用户单击链接以打开现有客户,屏幕上会列出所有客户订单。代码获取屏幕上的订单...

List<App_Orders> ordersInSession;
.....
ordersInSession = (List<App_Orders>)Session["Orders" + id];

如果我的理解是正确的MVC以及数据库中表的连接方式,如果表与App_Orders有关系,则在访问ordersInSession时它将可用。例如,App_Orders与App_OrderItems和Ref_OrderType有关系。订单可以包含一个或多个商品,订单具有特定类型。所以当你输入ordersInSession时。 ,intellisense将弹出App_Orders的属性列表,例如,OrderID,OrderDate,但也将具有App_OrderItems和Ref_OrderType。  我明白了吗?如果表有关系,那么这些表也可用?如果我,你会称这些属性吗?

对不起,我甚至不确定这是否有意义,但如果有人知道我的意思,如果他们知道我可以阅读的教程,以帮助我更好地理解MVC的这一部分。

提前致谢

2 个答案:

答案 0 :(得分:1)

ASP.NET MVC是一个用于构建Web应用程序的框架,它没有“无所事事”和#34;与数据库,并没有提供操纵它们的设施。

这个想法是用户要求Controller在&#34;页面上显示数据(模型)。 (视图)。与数据库无关。

您想要的是在MVC控制器中添加一些代码,以便它们从数据库中的对象构建模型。为此,您可以使用像Microsoft的实体框架这样的ORM框架,或者像Dapper或PetaPoco这样的轻量级/简单的东西。

然后,您的MVC控制器可以从数据库加载数据,构建App_Orders列表并将其作为模型提供给要显示的视图。

避免尽可能多地将内容存储在会话中,它并不意味着保存大量数据,而是要求解决问题,例如:如果浏览器在浏览器中打开多个标签页。

答案 1 :(得分:0)

您使用的是任何ORM框架吗? 对于Entity Framework,您可以阅读关系here