我们在域模型中使用接口来表示实体类。通过使用 LinqToSql,我们有这些的具体实现。我们为每个 LinqToSql 类添加了一个工厂方法,我们的服务层使用它来实例化一个新实体(注意;与控制器的 DataBind 属性相反)。
MonoRail 的默认 DataBinder 实现将忽略定义为接口的属性。
理想情况下,我们不想在 MonoRail 中实例化我们的数据层类——接口的全部意义在于分离这些关注点。
此外,我们真的不想创建另一组非 LinqToSql 具体类,其唯一工作是在层之间进行转换。
在这里结束了漫长的一天;请有人怜悯并指出我们应该用自己的实现重载的 IDataBinder 部分,或者暗示我们可能尝试的其他方法?;-)