Linq To Sql 插入具有新关联记录的记录
本文关键字:记录 关联 新关联 Sql To 插入 Linq | 更新日期: 2023-09-27 18:32:47
我有两个表:
[Table(Name="Booking")]
public class Booking
{
private EntityRef<Transaction> _transaction;
[Column(IsPrimaryKey = true, IsDbGenerated = true)]
public int ID;
[Column] public int Quantity;
[Column] public int EventID;
[Column] public int TransactionID;
[Association(Strorage = "_transaction", ThisKey = "TransactionID", OtherKey = "ID")]
public Transaction Transaction
{
get { return _transaction.Entity; }
set { _transaction.Entity = value; }
}
}
[Table(Name="Transaction")]
public class Transaction
{
[Column(IsPrimaryKey = true, IsDbGenerated = true)]
public int ID;
[Column] public decimal Amount;
[Column] public DateTime DatePaid;
}
我想执行以下操作:
Booking booking = new Booking
{
/* set data */
Transaction = new Transaction
{
Amount = 200,
DatePaid = DateTime.Now
}
}
db.Bookings.InsertOnSubmit(booking);
db.SubmitChanges();
但它不会插入事务并标记外键约束错误。
有什么方法可以在不调用 db 的情况下同时添加预订交易。提交更改() 两次以获取交易 ID?
尝试以下操作:
var booking = new Booking();
booking.Transaction.Add(new Transaction { Amount = 200, DatePaid = DateTime.Now });
db.Bookings.InsertOnSubmit(booking);
db.SubmitChanges()