实体框架异常“发现了模糊匹配”。

时间:2013-06-20 16:23:30

标签: entity-framework

有没有办法在Entity Framework 5.0中使用属性隐藏?   使用新类型隐藏基本属性的位置。 在此示例中,对象Id替换为新的int Id

public abstract class BaseObject : IFBaseObject {
    [NotMapped]
    protected virtual object Id { get; set; }
    public virtual byte[] RowVersion { get; set; }

public abstract class BaseObjectInt : BaseObject, IFKeyInt {
    [Required]
    [Key]
    public new virtual int Id { set; get; }

 public class MessageRef : BaseObjectInt{
   public virtual string Category { get; set; }
   public virtual string message { get; set; }
}

实体框架模型似乎有效。    数据库按预期创建。    但是,EF在添加值时会抛出反射异常。    **发现了模糊的匹配**

Context.Set<TPoco>().AddOrUpdate(poco);

如果我删除基本属性

// protected virtual object Id { get; set; }

然后EF工作,但由于基本类型没有Id,我得到了泛型的其他非EF问题。

感兴趣的痕迹。

at System.RuntimeType.GetPropertyImpl(String name,BindingFlags bindingAttr,Binder binder,Type returnType,Type [] types,ParameterModifier [] modifiers)    在System.Type.GetProperty(String name,BindingFlags bindingAttr)    在System.Linq.Enumerable。&lt;&gt; c__DisplayClass12 3.<CombineSelectors>b__11(TSource x) at System.Linq.Enumerable.WhereSelectEnumerableIterator 2.MoveNext()    在System.Linq.Enumerable.Aggregate [TSource,TAccumulate](IEnumerable 1 source, TAccumulate seed, Func 3 func)    在System.Data.Entity.Migrations.IDbSetExtensions.AddOrUpdate [TEntity](DbSet 1 set, IEnumerable 1 identifyProperties,TEntity [] entities)    在System.Data.Entity.Migrations.IDbSetExtensions.AddOrUpdate [TEntity](IDbSet`1 set,TEntity [] entities)

0 个答案:

没有答案