如果我需要检索从一个自定义的模型绑定的对象应该粘结剂与服务层,存储库层,或互动......?

StackOverflow https://stackoverflow.com/questions/1119928

如果我有一个类似的类:

public class Person
{
    public string firstName { get; set; }
    public string lastName { get; set; }
    public Pet myPet { get; set; }
}

在创建自定义模型绑定,从我的表格后不会在宠物被发送,它会发出像这样的数据:姓:“myFirstName”名字:“myLastName” myPet:“myPetsName”

由于宠物的名字被传入,而不是实际的Pet对象,需要从模型粘合剂内检索到的宠物对象。

我的问题是,应该模型绑定与服务层,存储库层交互,还是应该甚至可以检索的宠物?与业务层的问题是,我似乎没有能够获得的ModelState时初始化服务:((this.ModelState)给我一个错误)

_petService = new PetService(new ModelStateWrapper(this.ModelState));

如果我需要的模型绑定创建一个Person对象,那么宠物将需要以某种方式分配...我怎么做呢?

有帮助吗?

解决方案

我要做的就是使用的,而不是绑定到业务对象的视图/演示模型。请记住,您的用户可能输入无效值,您将需要促使他们改正自己的错误时,重新显示这些无效值给用户。但是,你的“真实”业务对象可能不会接受无效值。因此视图模型必须允许任何用户输入,甚至输入业务对象也不会接受。

这使得结合容易。你并不需要打一个仓库绑定,更新与(有效)用户输入的业务对象,只有当。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top