Я начинаю использовать BLToolkit, и у меня есть новое преимущество: InsertOrReplace. Когда я пытаюсь его использовать, возникает исключение: «Метод InsertOrUpdate не поддерживает поле идентификации« Margin.id »». Моя модель здесь:
[TableName("Margin")]
public class Margin
{
[PrimaryKey, Identity] public int id;
[NotNull] public string StoreID;
[PrimaryKey] public int? PrTypeID;
public decimal MarginRate;
[Association(ThisKey = "PrTypeID", OtherKey = "ProductID", CanBeNull = true)] public Product Product;
}
Вызовите метод:
db.InsertOrReplace(new CSSWarranty.DataModel.DataModel.Margin()
{
MarginRate = newMargin.Margin,
PrTypeID = newMargin.ProductTypeID == 0 ? null : newMargin.ProductTypeID,
StoreID = newMargin.StoreID,
id = newMargin.MarginID
});
Может кто подскажет, как использовать следующую конструкцию: db.Margin.InsertOrUpdate(x,y) Всем привет!
Я не понимаю, почему этот пример работает:
[TableName("Notification")]
public class Notification
{
[PrimaryKey] public string NotificationID;
public string Note;
}
Вызов:
var db = new RetailerDb()
db.InsertOrReplace(new DataModel.DataModel.Notification()
{
Note = note,
NotificationID = "ConfirmNote"
});
Класс БД:
private var db = new RetailerDb();
public class RetailerDb : DbManager
{
public RetailerDb() : base("DBConnection")
{
}
public Table<DataModel.Margin> Margin
{
get { return GetTable<DataModel.Margin>(); }
}
}
Margin.id != Margin.ID
? - person Alex Filipovici   schedule 14.12.2012db
в вашем коде? - person Alex Filipovici   schedule 14.12.2012