想要实现基于通用仓库由克里斯·普拉特的文章使用object的Id(PK).
一切都很好,直到我.Map()用ExpressMapper尝试其中一个对象.
更多代码如下.但基本上,当我尝试这样做时:
var dataModel = postedModel.Map(new ExampleDataModel());
Run Code Online (Sandbox Code Playgroud)
它给了我:
没有为此对象定义的无参数构造函数.
当我将Id属性更改ExampleDataModel为a string或int它工作正常.
我用Google搜索了一下.我没有看到任何明显的东西,但我有点超出我的深度.我想知道:
是什么造成的?
我能以某种方式解决这个问题吗?
如果可能的话,我想继续使用对象PK和ExpressMapper,因为它们都适合我的项目.
public interface IDataModel
{
object Id { get; }
}
public interface IDataModel<PKT> : IDataModel
{
new PKT Id { get; set; }
}
public abstract class DataModel<PKT> : IDataModel<PKT>
{
public PKT Id { get; set; }
object IDataModel.Id
{
get { return this.Id; }
} …Run Code Online (Sandbox Code Playgroud)