0
我有一个名为Articles的表的数据库。LinqToSql调用默认方法
该表存储文章并具有字段CDTimeStamp。 的CDTimestamp场变了这个样子,所以它总是具有正确的创建日期:
ALTER TABLE [dbo].[Artikel] ADD CONSTRAINT [DF_Artikel_CDTimeStamp] DEFAULT (getdate()) FOR [CDTimeStamp]
GO
所以,如果我尝试添加了一篇文章,我得到一个错误。 文章中加入这样的:
public void AddArticle()
{
this.Open();
Article article = new Article();
article.Description = "";
article.ArticleNr = GetArticleNumber();
article.Barcode = GetBarcode(); //EAN
article.Branch = GetBranch(); // 3digit number
article.Company = GetCompany(); // 1 or 2
article.Preis = GetPrice();
article.PreisNew = GetNewPrice();
//article.CDTimeStamp = DateTime.Now;
_OutDataContext.Artikel.InsertOnSubmit(article);
try
{
this.Submit();
}
catch (Exception e)
{
throw;
}
this.Close();
}
我得到的错误是:
SQLDATETIME溢出。必须介于1/1/1753 12:00:00 AM和 12/31/9999 11:59:59 PM之间。
如果我取消注释//article.CDTimeStamp = DateTime.Now;
创建并插入DateTime,但应该插入getdate()默认值,而不是我在程序中创建的值。 我的问题是: 是否有一个配置条目或类似的东西,使默认功能的调用?数据库字段可能不为null。
P.S. 我不太清楚如何调用这个问题,所以如果你知道更正确的标题,请随时编辑它。
非常简单的答案谢谢。仅供参考在dbml资源管理器中,我可以设置一个名为“Auto Generated Value”的属性,然后生成IsDbGenerated属性。 – Bongo