开发者

Insert Data using Linq from C#

I have version table which contains version number and version ID. I need to get the version ID based on the Version number. How to achieve this in more efficient way ?

        using (PatchSyncDBDataContext patchSyncDB = new PatchSyncDBDataContext())
        {
            int versionID = (from version in patchSyncDB.AppPM_Versions
                             where version.StatusID != 0 &&
    开发者_如何学编程                         version.VersionNumber == versionNumber
                             select version.VersionId).First();

            int customerID = (from reqID in patchSyncDB.MasterRepTables
                              where reqID.rep_email == dtLoginUser
                              select reqID.rep_id).First();

            AppPM_Patch AppPM_Patches = new AppPM_Patch()
            {
                PatchId = patchID,
                IncidentId = incidentID,
                VersionId = versionID,
                RequestedUserId = customerID,
                Emails = emailTo,
                StartDateTime = dateTimes,
                PatchStatus = patchStatus,
                StatusID = 1,
                SelectedProjects = selectedProjects
            };
            patchSyncDB.AppPM_Patches.InsertOnSubmit(AppPM_Patches);
            patchSyncDB.SubmitChanges();
        }


Assuming this is the code you're wondering about:

int versionID = (from version in patchSyncDB.AppPM_Versions
                 where version.StatusID != 0 &&
                 version.VersionNumber == versionNumber
                 select version.VersionId).First();

I don't see any better way to do the query, you might do a slightly more direct syntax using the .Where() and .Select() extension methods, but if your query parameters are VersionNumber = parm and StatusID != 0 I don't see a better query for it, save maybe a stored procedure that returns VersionId


View

private void button1_Click(object sender, EventArgs e)
    {
        DataClasses1DataContext dc = new DataClasses1DataContext();
        List<Table2> lst = new List<Table2>();
        lst = (from x in dc.Table2s select x).ToList();
        dataGridView1.DataSource = lst; 
    }

search

private void button2_Click(object sender, EventArgs e)
    {
        DataClasses1DataContext dc = new DataClasses1DataContext();
        List<Table2> lst = new List<Table2>();
        lst = (from x in dc.Table2s where x.Id==1 select x).ToList();
        dataGridView1.DataSource = lst;
    }

insert

private void button3_Click(object sender, EventArgs e)
    {
        DataClasses1DataContext dc = new DataClasses1DataContext();
        List<Table2> lst = new List<Table2>();
       dc.InsertTable2(Convert.ToDecimal(textBox1.Text), textBox2.Text, Convert.ToChar(textBox3.Text));
        dc.SubmitChanges();
        lst = (from x in dc.Table2s select x).ToList();
        dataGridView1.DataSource = lst;
    }

update

    private void button4_Click(object sender, EventArgs e)
    {
        DataClasses1DataContext dc = new DataClasses1DataContext();
        List<Table2> lst = new List<Table2>();
        dc.UpdateTable2(2, "a", 'F');
        dc.SubmitChanges();
        lst = (from x in dc.Table2s select x).ToList();
        dataGridView1.DataSource = lst;
    }

delete

    private void button5_Click(object sender, EventArgs e)
    {
        DataClasses1DataContext dc = new DataClasses1DataContext();
        List<Table2> lst = new List<Table2>();
        dc.DeleteTable2(2);
        dc.SubmitChanges();
        lst = (from x in dc.Table2s select x).ToList();
        dataGridView1.DataSource = lst;
    }
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜