Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/asp.net-mvc-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linq to sql Linq到SQL和ASP.NET MVC 3的集成_Linq To Sql_Asp.net Mvc 3_Orm_C# 4.0 - Fatal编程技术网

Linq to sql Linq到SQL和ASP.NET MVC 3的集成

Linq to sql Linq到SQL和ASP.NET MVC 3的集成,linq-to-sql,asp.net-mvc-3,orm,c#-4.0,Linq To Sql,Asp.net Mvc 3,Orm,C# 4.0,LINQtoSQL生成的ORM数据类与MVC中的模型层的集成程度如何?这些ORM数据类是否可以直接充当模型,如果可以,验证将如何进行,就像在MVC3中使用DataAnnotation所做的那样?似乎很难将这些添加到生成的类中。关注点分离表明,构成域模型的类不应该依赖于用于实现数据访问层的技术,因此我尽一切努力确保它们不会通过UI传播 如果使用实体框架而不是Linq to SQL,则可以使用POCO生成器而不是EF的默认EntityObjects。虽然这些仍然是从EF数据库模型生成的,但您可以替换

LINQtoSQL生成的ORM数据类与MVC中的模型层的集成程度如何?这些ORM数据类是否可以直接充当模型,如果可以,验证将如何进行,就像在MVC3中使用DataAnnotation所做的那样?似乎很难将这些添加到生成的类中。

关注点分离表明,构成域模型的类不应该依赖于用于实现数据访问层的技术,因此我尽一切努力确保它们不会通过UI传播


如果使用实体框架而不是Linq to SQL,则可以使用POCO生成器而不是EF的默认EntityObjects。虽然这些仍然是从EF数据库模型生成的,但您可以替换数据访问实现,但保留域模型的POCO。

关注点分离表明,构成域模型的类不应依赖于用于实现数据访问层的技术,因此,我尽一切努力确保它们不会通过UI传播


如果使用实体框架而不是Linq to SQL,则可以使用POCO生成器而不是EF的默认EntityObjects。虽然这些仍然是从EF数据库模型生成的,但您可以替换数据访问实现,但保留域模型的POCO。

这意味着我们将有三种类型的模型类:1-db-model类,POCO对象充当域模型,然后是viewmodels。是的,没错。DB模型类是特定于DB实现的。ViewModels是特定于UI实现的。域模型是将一切联系在一起的逻辑模型。这并不罕见。当然,DAL和UI都可以直接使用域模型,如果它适合于它们的实现,但是域模型不应该被DAL或UI实现细节“污染”(这使得我们通常使用的一些模型属性有问题)。虽然我同意这一点,因为每次你需要一个新的对象时,你都必须创建一个三元组,这是一个常见的折衷,所以它不仅对小项目而且对大项目来说都是一个过分的技巧。在前期投入一点精力,或者在维护期间支付多次费用?坚持使用EF,记住它将免费生成POCO并使用它们来实现DAL,因此在现实中,除非您需要改变工作方式,否则几乎没有开销,但至少您可以不费吹灰之力地实现。“适当分离关注点”的说法是过分的,这种说法会一直持续下去,但我已经多次看到了偷工减料的后果。这是一天结束时的一个判断电话。这就是我所想的,穆罕默德。特别是对于小型项目。这意味着我们将有三种类型的模型类:1-db-model类,作为域模型的POCO对象,然后是viewmodels。是的,没错。DB模型类是特定于DB实现的。ViewModels是特定于UI实现的。域模型是将一切联系在一起的逻辑模型。这并不罕见。当然,DAL和UI都可以直接使用域模型,如果它适合于它们的实现,但是域模型不应该被DAL或UI实现细节“污染”(这使得我们通常使用的一些模型属性有问题)。虽然我同意这一点,因为每次你需要一个新的对象时,你都必须创建一个三元组,这是一个常见的折衷,所以它不仅对小项目而且对大项目来说都是一个过分的技巧。在前期投入一点精力,或者在维护期间支付多次费用?坚持使用EF,记住它将免费生成POCO并使用它们来实现DAL,因此在现实中,除非您需要改变工作方式,否则几乎没有开销,但至少您可以不费吹灰之力地实现。“适当分离关注点”的说法是过分的,这种说法会一直持续下去,但我已经多次看到了偷工减料的后果。这是一天结束时的一个判断电话。这就是我所想的,穆罕默德。特别是小项目。