Обновление через LINQ в другой базе данных - PullRequest
0 голосов
/ 11 апреля 2011

У меня есть БД, которая выглядит следующим образом:

1st:

CommissionsV2 (Table = Entity_Product_Point)
Это тоже мой DBML, в котором есть только одна таблица.

2-й:

WebEnroll (Table = PlanMaster)
Это мой другой DBML, в котором есть одна таблица.

Сейчасчерез LINQ Я добавляю строку с запросом, подобным следующему:

                        CommissionsV2DataContext cv = new CommissionsV2DataContext();
                        Entity_Product_Point ev = new Entity_Product_Point();
                        ev.Entity_ID = getEntity;
                        ev.Product_ID = tr.First();
                        ev.HiCommissionOld = (double)firststYrComp;
                        ev.LowCommissionOld = (double)recurringComp;
                        ev.HiCommission = (double)finalFirstYrComp * 100;
                        ev.LowCommission = (double)finalRecurringComp * 100;
                        ev.DateCreated = System.DateTime.Now;

                        cv.Entity_Product_Points.InsertOnSubmit(ev);
                        cv.SubmitChanges();

Теперь мой оператор обновления выглядит так:

 protected void gvShowComm_RowUpdating(object sender, GridViewUpdateEventArgs e)
    {

        //Getting the Entity_ID from the Session!
        int getEntity = Int16.Parse(Session["EntitySelected"].ToString());

        //Accessing the variables from the controls!
        System.Web.UI.WebControls.TextBox product_ID = gvShowComm.Rows[e.RowIndex].FindControl("ProductName") as System.Web.UI.WebControls.TextBox;
        System.Web.UI.WebControls.TextBox planName = gvShowComm.Rows[e.RowIndex].FindControl("PlanName") as System.Web.UI.WebControls.TextBox;
        System.Web.UI.WebControls.TextBox hiCommOld = gvShowComm.Rows[e.RowIndex].FindControl("HiComm") as System.Web.UI.WebControls.TextBox;
        System.Web.UI.WebControls.TextBox lowCommOld = gvShowComm.Rows[e.RowIndex].FindControl("LowComm") as System.Web.UI.WebControls.TextBox;

        //Storing the values into variables!
        int product = Int16.Parse(product_ID.Text);
        string plan = planName.Text;
        int hiOld = Int16.Parse(hiCommOld.Text);
        int lowOld = Int16.Parse(lowCommOld.Text);

        //Updating the values into the table through LINQ!
        dbWebEnrollDataContext dt = new dbWebEnrollDataContext(); //This has PlanName in PlanMaster Table.
        CommissionsV2DataContext cv = new CommissionsV2DataContext(); //Entity_Product_Point has all the other columns which needs to be updated!

        Entity_Product_Point ev = cv.Entity_Product_Points.Single(c => c.Product_ID == product);
        ev.HiCommissionOld = hiOld;
        ev.LowCommissionOld = lowOld;
        ev.Entity_ID = getEntity;
        cv.SubmitChanges();

1 Ответ

0 голосов
/ 11 апреля 2011

Чтобы обновить, вам нужно извлечь сущность, которую нужно обновить.

В вашем случае это будет:

Entity_Product_Point ev = cv.Entity_Product_Points.Single(c => c.Product_ID == product);
ev.HiCommissionOld = hiOld;
ev.LowCommissionOld = lowOld;
// Retrieve the plan that needs to be updated and set the name
// Submit the changes
cv.SubmitChanges();
// Retrieve the new values and rebind the gridview against the new values
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...