正如标题所说,我在写入本地数据库时遇到问题。我从中生成了一个edmx模型,我可以很容易地从中读取它。
EDMXNS.TOWDataBasev1Entities db = new EDMXNS.TOWDataBasev1Entities();
var query = from p in db.Accounts select p;
foreach (EDMXNS.Accounts s in query)
Console.WriteLine(s.AccountName);
工作正常。但是,当我尝试写入数据库时,没有任何反应。我没有得到任何错误,例外等。我认为,因为我可以从数据库中读取,这不是连接问题。
这是我写的代码。
EDMXNS.TOWDataBasev1Entities db = new EDMXNS.TOWDataBasev1Entities();
EDMXNS.Accounts acc = new EDMXNS.Accounts();
acc.AccountID = 1;
acc.AccountName = "testuser";
acc.AccountPW = "testpw";
acc.PersonDataID = 0;
db.AddToAccounts(acc);
db.SaveChanges();
值得一提的是我的Accounts.AccountID具有身份/自动增量,但我已尝试将其设置为下一个已知值,或根本不设置它。
有人知道可能导致此问题的原因吗?
编辑:我还尝试删除自定义名称空间,删除数据库的所有记录并重新导入。
删除自定义工具名称空间会导致以下错误: 'TOWServer.Accounts.AccountName'和'TOWServer.Accounts.AccountName'之间的歧义
哪个不告诉我什么。
重新导入一切现在给了我一个例外: “无法加载指定的元数据资源”
答案 0 :(得分:0)
在使用EF添加记录时,我总是使用此格式,请尝试遵循以下格式:
using (MovieStoreEntities context = new MoveStoreEntities())
{
try
{
context.Movies.AddObject(new Movie() { MovieID = 234,
Title = "Sleepless Nights in Seattle", Quantity = 10 });
context.SaveChanges();
}
catch(Exception ex)
{
Console.WriteLine(ex.InnerException.Message);
}
}