【发布时间】:2011-05-16 02:20:15
【问题描述】:
我有一个控制台应用程序,我想做的是每次应用程序运行时,日期和时间都会发送到我数据库中的一个表中。
表结构是这样的:
FTPRuns
ID int
Last Run datetime
足够简单。
我已经更新了我的应用程序中的 model.edmx 以反映这一新变化,但是现在我收到以下错误,我不完全确定这意味着什么。
错误 3002:映射问题 从行开始的片段 1330:潜在的运行时违规 表 FTPRuns 的键 (FTPRuns.ID): 列 (FTPRuns.ID) 映射到 EntitySet FTPRuns 的属性 (FTPRuns.ID) 在概念方面 但它们不构成 EntitySet 的 关键属性(FTPRuns.ID, FTPRuns.LastRun)。
这是我用来更新数据库的代码的 sn-p:
using (ModelContainer ctn = new ModelContainer())
{
try
{
FTPRun ftp = new FTPRun
{
LastRun = DateTime.Now
};
ctn.FTPRuns.AddObject(ftp);
int changes = ctn.SaveChanges();
Console.WriteLine(changes.ToString() + " Changes saved");
Console.WriteLine("The LastRun Date Has Been Updated");
}
catch (InvalidOperationException ex)
{
Console.WriteLine(ex.ToString());
}
}
如果有人可以帮助我,我将非常感激:)
谢谢。
【问题讨论】:
-
你用的是什么数据库,表的主键是什么?
-
抱歉,我使用的是 SQL Server 数据库,我已将 ID 列设置为主键。
标签: c# linq-to-entities edmx