我想将这些信息添加到我的数据库中。我的SQL Server将为表中的每一行生成Id。但是,由于某种原因,我的代码为Id添加了一个“0”,我无法弄清楚它为什么或来自哪里,我需要将其删除,以便数据库可以生成它。C#试图将项目添加到数据库中,出现错误
这里是我的代码:
public class Contact
{
public Contact()
{
}
[DatabaseGenerated(DatabaseGeneratedOption.None)]
public int Id { get; set; }
[Required]
[StringLength(50)]
public string Name { get; set; }
[Required]
[StringLength(50)]
public string Email { get; set; }
[Column(TypeName = "ntext")]
[Required]
public string Message { get; set; }
[Column(TypeName = "date")]
[Required]
public DateTime Date { get; set; }
[Column(TypeName = "time")]
[Required]
public TimeSpan Time { get; set; }
}
public class Context : DbContext
{
public Context()
: base("ContactConnectionString")
{
}
public DbSet<Contact> ContactForm { get; set; }
}
public class ImportToDataBase
{
public static void SubmitToDatabase(string theMessage, string fullName, string emailAddress)
{
using (var db = new Context())
{
var contact = new Contact()
{
Email = emailAddress,
Message = theMessage,
Name = fullName,
Date = DateTime.Now.Date,
Time = DateTime.Now.TimeOfDay,
// ID is not set in here
};
db.ContactForm.Add(contact);
db.SaveChanges();
}
}
}
}
我试图这样做,但是当我切换到身份,而不是.None我得到这个错误。 “此版本的SQL Server不支持没有聚簇索引的表,请创建聚簇索引并重试 无法删除约束,请参阅前面的错误 该语句已被终止。 – electrometro 2014-09-28 01:26:04
@ user2958455您使用的是Azure吗? – codebased 2014-09-28 01:28:06
是的,我正在使用Azure。 – electrometro 2014-09-28 01:29:06