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;
}
精彩评论