C# 针对新手的ASP.NET-MVC数据/模型最佳实践
我对ASP.NETMVC和一般的MVC都很陌生。从旧式的“意大利面条”设计实践转向网络表单是一个很大的变化,但在我看来这似乎更大(但更好) 我有一些关于数据特定任务的问题C# 针对新手的ASP.NET-MVC数据/模型最佳实践,c#,asp.net-mvc,model-view-controller,C#,Asp.net Mvc,Model View Controller,我对ASP.NETMVC和一般的MVC都很陌生。从旧式的“意大利面条”设计实践转向网络表单是一个很大的变化,但在我看来这似乎更大(但更好) 我有一些关于数据特定任务的问题 为了简单起见,假设我有一个名为PIN的数据库表,列结构为PinId INT,Value VARCHAR(50),另一个名为Entry的表,列结构为EntryId INT,PinId INT 我有一个MVC视图,它接受字符串值作为PIN码 目标是在条目表中插入一行。为此,我必须将相应的PinId查找到提供的值 我的问题是,我在哪
干杯,谢谢斯塔克尔斯 看看模型绑定器。这允许您定义如何将发送到动作的数据中的输入绑定到模型对象。您的操作还可以只获取要保存的类型的参数,并且在ModelBinder中,您可以对存储库进行一些查找,等等 如果您进行搜索,现在您知道要查看ModelBinder,那么有很多关于此的好博客帖子。Scott Hanselman有一个很好的基础:
看看模型绑定器。这允许您定义如何将发送到动作的数据中的输入绑定到模型对象。您的操作还可以只获取要保存的类型的参数,并且在ModelBinder中,您可以对存储库进行一些查找,等等 如果您进行搜索,现在您知道要查看ModelBinder,那么有很多关于此的好博客帖子。Scott Hanselman有一个很好的基础:
切勿在控制器中放置搜索、添加、更新和删除代码。实际上,控制器中几乎没有代码 在MVC世界中,控制器只是从视图到业务层获取模型的一种方法,反之亦然。目的是在这里尽可能少地使用代码 如果您可以使用Linq2SQl,那么这将是放置实体的好地方。然后,您可以使用数据存储库不仅完成繁重的工作(如您所说),还可以完成所有其他小事情
Linq2SQL将创建一个分部类。因此,您可以创建另一个分部类,它将为您执行CRUD和搜索工作。切勿在控制器中放置搜索、添加、更新和删除代码。实际上,控制器中几乎没有代码 在MVC世界中,控制器只是从视图到业务层获取模型的一种方法,反之亦然。目的是在这里尽可能少地使用代码 如果您可以使用Linq2SQl,那么这将是放置实体的好地方。然后,您可以使用数据存储库不仅完成繁重的工作(如您所说),还可以完成所有其他小事情 Linq2SQL将创建一个分部类。因此,您可以创建另一个分部类,它将为您执行CRUD和搜索工作