1

一緒にマップする必要がある 2 つのエンティティがあります。どちらもデータベース ビューであるため、技術的にはどちらも主キーではありません。

 [Table("Name")]
    public class MemberInfo
    {
        [Key]
        [Column("id")]
        public string MemberId { get; set; }

        [Column("first_name")]
        public string FirstName { get; set; }

        [Column("last_name")]
        public string LastName { get; set; }

        public string Designation { get; set; }

        [Column("full_name")]
        public string FullName { get; set; }
    }



public class ChangeLog
    {
        [Column("ID")]
        public int ID { get; set; }

        [Column("asset_id")]
        public virtual Asset AssetID { get; set; }

        [Column("member_id")]
        public int MemberID { get; set; }

        public virtual MemberInfo MemberInfo { get; set; }

        [Column("comment")]
        public string Comment { get; set; }

        [Column("createdDT")]
        public DateTime CreatedDT { get; set; }
    }

ChangeLog から MemberInfo にアクセスしようとすると、次のエラーが表示されます。

A relationship multiplicity constraint violation occurred: An EntityReference can have no more than one related object, but the query returned more than one related object. This is a non-recoverable error.

MemberInfo の MemberID フィールドは一意です。MemberInfo プロパティを介して ChangeLog から MemberInfo プロパティにアクセスできる必要があります。

4

1 に答える 1

1

このエラーは ChangeLog クラスの Asset プロパティに関するもので、そのクラスを記述しないでください。そのプロパティを変更すると、このエラーを修正できると思います

于 2012-12-29T10:39:56.200 に答える