Linq语法:SubmitChanges()方法不影响数据库,只影响DataContext



尝试将更改保存在数据库表EmpTable中时,不会在数据库中进行提交。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Data.Linq;
namespace ConsoleApplication_
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Working Fine");
DataBase1ClassDataContext dc = new DataBase1ClassDataContext(@"Data Source=(LocalDB)v11.0;AttachDbFilename=|DataDirectory|Database1.mdf;Integrated Security=True");
Table<EmpTable> t = dc.EmpTables;

foreach (var i in t)
{
Console.WriteLine(i.Id+" "+i.name+" "+i.Address+" "+i.contact+" "+i.GetType());
}
List<EmpTable> l = dc.EmpTables.ToList();
for (int j = 0; j < l.Count(); j++)
{
Console.WriteLine(l[j].Id + " " + l[j].name + " " + l[j].Address + " " + l[j].contact + " " + l[j].GetType());
}
label1:
Console.WriteLine("1 for inserting data, 2 for exit");
int a = Convert.ToInt32(Console.ReadLine());
Console.WriteLine();
EmpTable obj = new EmpTable();
switch (a)
{
case 1:
{
Console.Write("Enter a new unique ID: ");
obj.Id = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("Your new id is : "+obj.Id);
Console.Write("Enter name: ");
obj.name = Console.ReadLine();
Console.Write("Enter address: ");
obj.Address = Console.ReadLine();
Console.Write("Enter contact no.: ");
obj.contact = Console.ReadLine();
dc.EmpTables.InsertOnSubmit(obj);
dc.SubmitChanges();
Console.WriteLine("INSERTED. . . :)");
dc = new DataBase1ClassDataContext();
t = dc.EmpTables;
foreach (var i in t)
{
Console.WriteLine(i.Id + " " + i.name + " " + i.Address + " " + i.contact + " " + i.GetType());
}
Console.WriteLine("To operate again,");
goto label1;
}
case 2:
Console.WriteLine("Press any key to exit,nExiting . . .");
break;
default:
Console.WriteLine("Wrong Entry, Try Again");
goto label1;
}
Console.ReadKey();
}
}
}

每当我运行代码时,它只显示我手动插入的表中的当前数据。

请帮忙。

重要提示:我的桌子上已经有一把主键了。

我已经得到了答案,通过更改我的数据库1.mdf"复制到输出目录";由于不复制,这个选项在数据库的属性中,然后探索了一个新的错误,我通过在配置中提供数据库的完整路径来纠正这个错误,因为它总是指向服务器资源管理器,而真正的数据库在解决方案资源管理器中。非常感谢大家。快乐编程😄

最新更新