使用linq在数据库中插入两个对象

时间:2015-08-14 12:59:03

标签: c# linq

我有两个sql表(主/详细信息),我有一个方法在sql中保存对象。 像这样:

 public int InsertDoc(MymasterModel _inputMstr, string _IsForsale)
    {
    MasterModel _Mstr = new MasterModel();
    InsertDocs ins = new InsertDocs();
    _Mstr.Date = _inputMstr.DocDate;
    .
    .
    .
    ;


    _Mstr.DtlsModel = new List<DtlDataModel>();
            _inputMstr.MyDtlDataModel.ToList().ForEach(d =>
            {
                _Mstr.DtlsModel.Add(new DtlDataModel()
                {
                    Serial = d.Serial.ToString(),
                    Qty = d.Qty,
            ...
                });
            });

    <b>return ins.InsertDoc(_Mstr)</b>;
    }

现在我想在sql中保存两个具有相同细节的不同类型的文档。 (输入和输出文档) 插入此文档如交易一样相互链接。 我怎么能用linq做到这一点? 非常感谢

1 个答案:

答案 0 :(得分:0)

正如上面提到的@BenRobinson所说,你不能用LINQ来做。 LIN Q 适用于 Q ueries。您可以查看Entity Framework(或其他ORM)来执行更新,插入或删除。

EntityFramework看起来像:

var details=new details {...}
db.details.Add(details):
db.docs.Add(new doc {... , details=details});
db.docs.Add(new doc {... , detials=details});
db.SaveChanges();