Привет. Есть код:
[TableName("Account_Rpt_Dim_tbl")]
[MapField("Account_No", "Account.Code")]
[MapField("CategoryEntry_Code", "CategoryEntry.Code")]
public abstract class AccountDimensionSetup : PatObject
{
[MapIgnore]
public abstract override string Code
{
get;
set;
}
[PrimaryKey]
[Identity]
public abstract Account Account { get; set; }
[PrimaryKey]
[Identity]
public abstract CategoryEntry CategoryEntry { get; set; }
[MapField("Update_Date")]
public override System.DateTime UpdateDate
{
get;
set;
}
[MapField("Update_User")]
public override string UpdateUser
{
get;
set;
}
[MapIgnore]
public abstract override string Description { get; set; }
}
[TableName("Category_Entry_tbl")]
public abstract class CategoryEntry : PatObject
{
[MapField("Entry_Code")]
[PrimaryKey] // Issue is here
public abstract override string Code { get; set; }
}
Далее выполняеться такая штука:
using (var accessor = new SqlQuery<T>(new DbManager(new OracleDataProvider(), connectionString), true))
{
return accessor.Delete(data);
}
У меня падает нал реф на делейте при удалении любого объекта. Но если убрать праймери ки (там где комент Issue is here) — то все начинает работать, но удаление происходит только по Account и CategoryEntry не учитываеться.
В чем может быть проблема?