#c# #entity-framework #entity-framework-4
#c# #entity-framework #entity-framework-4
Вопрос:
Я вставляю объект в список и сохраняю.
Таблица Desk (идентификатор автоматического включения int, имя переменной)
var desk = new Desk()
{
name = "newName"
};
m_RoomsContext.Desks.Add(desk);
m_RoomsContext.SubmitChanges();
//desk.id == 0
Мне нужно получить идентификатор рабочего стола. Как это сделать?
идентификатор свойства:
/// <summary>
/// No Metadata Documentation available.
/// </summary>
[EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)]
[DataMemberAttribute()]
public global::System.Int32 id
{
get
{
return _id;
}
set
{
if (_id != value)
{
OnidChanging(value);
ReportPropertyChanging("id");
_id = StructuralObject.SetValidValue(value);
ReportPropertyChanged("id");
OnidChanged();
}
}
}
private global::System.Int32 _id;
partial void OnidChanging(global::System.Int32 value);
partial void OnidChanged();
edmx:
<EntityType Name="Desk">
<Key>
<PropertyRef Name="id" />
</Key>
<Property Name="id" Type="int" Nullable="false" StoreGeneratedPattern="Identity" />
<Property Name="width" Type="float" Nullable="false" />
<Property Name="height" Type="float" Nullable="false" />
<Property Name="x" Type="int" Nullable="false" />
<Property Name="y" Type="int" Nullable="false" />
<Property Name="countMax" Type="int" Nullable="false" />
<Property Name="countReal" Type="int" />
<Property Name="date" Type="datetime" />
<Property Name="id_status" Type="int" Nullable="false" />
</EntityType>
Комментарии:
1.
Id
В вашей модели объекта определено с помощьюStoreGeneratedPattern.Identity
(проверьте свойстваId
свойства в файле EDMX)?2. Я обновляю сообщение. нет StoreGeneratedPattern. Идентификатор существует.
Ответ №1:
После отправки посмотрите на desk.ID
свойство => ему будет присвоено новое значение из базы данных.