Member 11072126 Ответов: 2

ошибка 2019: указанное сопоставление элементов недопустимо при использовании кода Entity Framework First


сведения об ошибке:
(18,12) : ошибка 2019: указанное сопоставление членов недопустимо. Типа 'ЭДМ.Байт[и nullable=false,то свойство DefaultValue=]' о статусе члена '' в тип 'ИМС.Даль.Users_mast не совместима с SQL сервер.двоичный[значение null=false,то свойство DefaultValue=,параметр maxlength=8000,FixedLength=правда]' член 'статус' в тип 'CodeFirstDatabaseSchema.Users_mast'.

мой код:
Файл User_mast.cs содержит:
[Столбец(имя типа = двоичный)]
public byte status { get; set; } // Active | Inactive (1 | 0 ), где я хочу, чтобы столбец состояния был создан как двоичный столбец в sql server.

файл context.cs содержит:
контекст публичного класса : DbContext
{
общественные связи()
: base("name=sqlConn")
{
}

общественности в dbset&ЛТ;Users_mast> пользователи { получить; набор; }

охраняемых переопределить недействительными OnModelCreating(DbModelBuilder в modelbuilder)
{
база.OnModelCreating(modelBuilder);
}
}

и напоследок,
файл test.cs содержит:

context obj = новый контекст();

общественного недействительными добавить()
{
об..Пользователи.Add(new Users_mast() {user_fname="Agnib", user_lname="Pyne", user_email="a@gmail.com", user_mobile="9830972301", username="agnib", pwd="As1232", created_date=DateTime.Теперь статус=1 });
параметр obj.Метод SaveChanges();
}

On running, I am getting the above error. I can understand its due to the status field set as byte which is not getting mapped as binary.

Then what should I do to make the column in sql server as binary? Is there any list of mapping between sql server types and .net types specially in case of EF Code-First?

Any help is appreciated. Please help!!!

2 Ответов

Рейтинг:
18

DamithSL

если вам нужно хранить только 0 или 1 значение в столбце, вы можете просто использовать битовый тип данных в sql server и логический тип данных в файле .net.
также .net Byte[] будет преобразован в двоичный файл в sql server


Member 11072126

Большое спасибо, чувак. Это сработало.

Рейтинг:
0

m1m1k

In my case, all columns were set correctly, but Oracle Unmanaged Driver apparently doesn't always load into visual studio quite right.

I could get it to work *sometimes*, but it often failed after restarting my visual studio development machine. I experimented with combinations of rebuilding + reloading T4 templates and Re-compiling files in the solution (MVC5 + EF + AngularJS + Bundled Web optimization).
In the end, this turned out to be a more straight forward solution:

This:
<a href="https://community.oracle.com/thread/2398397">Error 2019: Member Mapping specified is not valid. | Oracle Community</a>[<a href="https://community.oracle.com/thread/2398397" target="_blank" title="New Window">^</a>]

 - (a) Open Visual Studio Help/About Microsoft Visual Studio and click
   OK button to exit the dialog box 
 - OR 
 - (b) Open the to-be-used connection in Server Explorer


Richard MacCutchan

Как вы можете видеть выше, это было решено пять лет назад.