Фон:
- Entity Framework 4
- Silverlight 4
- Услуги RIA
- MSSQL Server 2008
У меня есть объект, у которого есть свойство String с именем Description.
В базе данных он отображается на NOT NULL NVARCHAR(200)
.
Проблема:
Когда я пытаюсь вставить новую строку этого объекта, это то, что я делаю:
MyExampleEntity entity = new MyExampleEntity()
{
Name = "example",
Description = "" // NOTE THIS LINE!
};
DatabaseContext db = new DatabaseContext();
db.MyExampleEntities.Add(entity);
db.SubmitChanges();
Это, однако, вызывает исключение, говорящее "The Description field is required."
Вопрос:
Не следует ли "пустая строка" просто: строка с нулевыми символами?
Я считаю, что только Description = null
следует рассматривать как предоставление без значения.
- Почему моя строка, которая имеет значение (хотя его длина равно 0), считается как будто я опустил значение?
- На каком уровне происходит это преобразование? В RIA, на EF или в MSSQL?
- Есть ли способ сделать описание нулевым значением, когда я устанавливаю
Description to ""
и вызывают исключение, когдаDescription = null
(не имеет значения)?