【发布时间】:2012-09-20 11:19:52
【问题描述】:
当我尝试将一些示例数据插入 WP7 应用程序内的 SQL Server CE 3.5 数据库时,出现以下异常:
错误:SqlCeException“列不能包含空值。
[列名=名称,表名=考试]
name 也是主键。我想我已经在DataContext 中正确声明了所有内容。
private void InsertData()
{
mangoDb = new ExamDataContext();
// create a new exam instance
Exam exam = new Exam();
exam.Name = "History";
exam.Description ="History Exam";
// add the new exam to the context
mangoDb.Exams.InsertOnSubmit(exam);
// save changes to the database
mangoDb.SubmitChanges();
}
我哪里出错了?
【问题讨论】:
-
确保
exam.Name列正确映射到Exam表中的Name列。无论您使用的是 linq-to-sql 还是实体框架,请检查您的数据库映射 -
我当前在DataContext中的代码如下: [Table] public class Exam { private string name; // 局部变量 [Column(DbType = "NVARCHAR(100)", IsPrimaryKey = true)] public string Name // 列名 { get { return name; } set { if (name != value) { name = value; } } } 我想我已经将它正确地映射到了考试表。我想我正在使用 linq-to-sql,因为 WP7 还没有 EF。
标签: c# linq windows-phone-7 sql-server-ce