Я попытался добавить объект через него, он выдает ошибку, как указано выше. Мой идентификационный столбец NOT NULL
и без Identity
. Мой код выглядит следующим образом. Я также присваиваю значение ID.Невозможно вставить значение NULL в столбец 'ID', таблица 'XXX' (Entity framework)
Я добавил атрибут [DatabaseGenerated(DatabaseGeneratedOption.None)]
для этого свойства в контексте класса согласно SO Thread, но не работает.
int id = context.CreditApps.Max(x => x.ID);
if (id != null && id != 0)
{
newCreditAppId = id + 1;
objCredit.ID = newCreditAppId;
}
objCredit.IsActive = true;
context.DTOriginalCreditApps.AddObject(objCredit);
context.SaveChanges();
Контекст класс
#region Primitive Properties
/// <summary>
/// No Metadata Documentation available.
/// </summary>
[EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)]
[DatabaseGenerated(DatabaseGeneratedOption.None)] //Added later
[DataMemberAttribute()]
public global::System.Int32 Id
{
get
{
return _Id;
}
set
{
if (_Id != value)
{
OnIdChanging(value);
ReportPropertyChanging("Id");
_Id = StructuralObject.SetValidValue(value);
ReportPropertyChanged("Id");
OnIdChanged();
}
}
}
Что произойдет, если id == 0: 'if (id! = Null && id! = 0)', что еще? – tschmit007
Это не полезно. Он входит в инструкцию if. –