我想同时使用EF和MVVM,并试图看看它们是如何组合在一起的。我找不到很多例子,所以希望你们能回答几个问题。
假设我在名为Customer的数据库中有一个表。我运行EF设计师并获得数据模型。
下一步是运行一些linq以从数据模型中获取数据。让我们创建一个名为CustomerRepository的新类来执行此操作。
现在我猜测Model会调用CustomerRepository.GetCustomers来获取客户列表。
这是我的问题 - CustomerModel有一个由EF在数据模型中定义的客户对象列表。如何向其中添加验证属性或任何类型的验证?
EF和MVVM之间似乎有点脱节。我相信你们中的一些人之前已经打过这个 - 任何想法?有没有更好的方法来解决这个问题?
干杯
史蒂夫
答案 0 :(得分:4)
验证,业务规则,客户对象的表示应该存在于ViewModel中,ViewModel将作为View的控制器或演示者。
就如何创建ViewModel而言,您有几个选择:
现在您可以向VM添加自定义验证规则,这样当从View发送适当的命令时,您可以执行业务规则,并且如果合适,您可以使用EF的API更新模型以将这些更改保留回到数据库...