'DocEntity+MlInterfaces.Owner' field, which is declared as paired to 'DocEntity.Interfaces' field, should be of type 'DocEntity' but actually it is 'DocEntity'.
This is how everything is defined:
[HierarchyRoot(InheritanceSchema = InheritanceSchema.ConcreteTable)]
[Id("F3F91774-1F7F-41EF-0000-000000000000")]
[Serializable]
public abstract class Multilink<TOwner, TLinked> : EntityBase, IMultilink, IOwned
where TOwner : EntityBase
where TLinked : EntityBase
{
protected Multilink(Guid id, TOwner owner) : base(id)
{
Owner = owner;
}
/// <summary>
/// Зависимый
/// Элемент на который ссылается мультилинк
/// </summary>
[Field(Nullable = false)]
[Association(OnOwnerRemove = OnRemoveAction.Clear, OnTargetRemove = OnRemoveAction.Deny)]
[Id("00000000-0000-0000-8326-53CB24F7B5D8")]
public TLinked Linked { get; set; }
/// <summary>
/// Владелец
/// Элемент содержащий мультилинк
/// </summary>
[Field(Nullable = false)]
[Association(OnOwnerRemove = OnRemoveAction.Clear, OnTargetRemove = OnRemoveAction.Cascade)]
[Id("00000000-0000-0000-B50D-27F9E2E3DB9F")]
public TOwner Owner { get; set; }
}
public partial class DocEntity
{
/// <summary>
/// Мультилинк сущности и интерфейсов
/// </summary>
/// <revision>$Rev$</revision>
[Id("629409A9-C9E4-47D2-0000-000000000000")]
public partial class MlInterfaces : Multilink<DocEntity, EnEntityInterface>
{
public MlInterfaces(Guid id, DocEntity owner)
: base(id, owner)
{
}
}
}
[Id("C859E9F9-8196-42CE-0000-000000000000")]
[Index("SysName", Unique = true, Name = "DocEntity.IX_SysName")]
public partial class DocEntity : Werp.Model.Models.Base.DocumentBase, IRevisioned, IHierarchical<DocEntity>
{
[Association(PairTo = "Owner", OnTargetRemove = OnRemoveAction.Clear, OnOwnerRemove = OnRemoveAction.Cascade)]
[Field]
[Id("00000000-0000-0000-8235-49FE5D2F482A")]
public EntitySet<DocEntity.MlInterfaces> Interfaces { get; set; }
}
asked
Oct 27 '10 at 04:14
xumix
425●75●76●82