单击时从表复制数据

时间:2018-04-23 11:57:09

标签: c# asp.net entity-framework

我正在学习编码并尝试制作一个简单的食品订购网站。

<asp:LinkButton runat="server" CssClass="btn btn-outline-warning" CommandName="SepetEkle" CommandArgument='<%# Eval("ID") %>' ID="btnYemekSepetEkle" Text="Sepete Ekle">

当我点击此按钮时,我希望我选择的食物从“Yemekler”复制到“Sepet”

if(e.CommandName == "SepetEkle")
{
     using (SiparisDaBa())
     {
        Guid Id = Guid.Parse(e.CommandArgument.ToString());
        var sepet = db.Sepet.FirstOrDefeault(t => t.SepetID == Id);
        db.Sepet.Add(sepet);
        db.SaveChanges();
     }
}

我知道这个问题,我应该从“Yemekler”表中查看食物的主键然后我应该将它复制到“Sepet”表中,这样当我点击订单按钮时​​,它就不会占用所有的食物了列表。但我不知道该怎么做。

1 个答案:

答案 0 :(得分:0)

创建Sepet的新实例,以便将其插入到Sepet表中。我没有尝试过你的代码,但我相信你需要这样的东西。

Guid Id = Guid.Parse(e.CommandArgument.ToString());
var yemekler = db.Yemekler.FirstOrDefault(y => y.ID == Id);
if(yemekler != null)
{
    //after id, include other fields separated by comma
    var sepet = new Sepet() { ID = yemekler.ID };
    db.Sepet.Add(sepet);
    db.SaveChanges();
};

初始化新实例new Sepet()时,您可以在yemekler中包含其他相关字段,除了ID之外,还要包含其他相关字段。

相关问题