EntityKey Конструкторы
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Инициализирует новый экземпляр класса EntityKey.
Перегрузки
EntityKey() |
Инициализирует новый экземпляр класса EntityKey. |
EntityKey(String, IEnumerable<KeyValuePair<String,Object>>) |
Инициализирует новый экземпляр класса EntityKey с именем набора сущностей и общей коллекцией KeyValuePair. |
EntityKey(String, IEnumerable<EntityKeyMember>) |
Инициализирует новый экземпляр класса EntityKey именем набора сущностей и коллекцией IEnumerable<T> объектов EntityKeyMember. |
EntityKey(String, String, Object) |
Инициализирует новый экземпляр класса EntityKey именем набора сущностей и конкретной парой ключей сущности. |
EntityKey()
Инициализирует новый экземпляр класса EntityKey.
public:
EntityKey();
public EntityKey ();
Public Sub New ()
Применяется к
EntityKey(String, IEnumerable<KeyValuePair<String,Object>>)
Инициализирует новый экземпляр класса EntityKey с именем набора сущностей и общей коллекцией KeyValuePair.
public:
EntityKey(System::String ^ qualifiedEntitySetName, System::Collections::Generic::IEnumerable<System::Collections::Generic::KeyValuePair<System::String ^, System::Object ^>> ^ entityKeyValues);
public EntityKey (string qualifiedEntitySetName, System.Collections.Generic.IEnumerable<System.Collections.Generic.KeyValuePair<string,object>> entityKeyValues);
new System.Data.EntityKey : string * seq<System.Collections.Generic.KeyValuePair<string, obj>> -> System.Data.EntityKey
Public Sub New (qualifiedEntitySetName As String, entityKeyValues As IEnumerable(Of KeyValuePair(Of String, Object)))
Параметры
- qualifiedEntitySetName
- String
Объект String, представляющий имя набора сущностей, сопровождаемое именем контейнера сущностей.
- entityKeyValues
- IEnumerable<KeyValuePair<String,Object>>
Общая коллекция KeyValuePair.
Каждая пара «ключ-значение» имеет имя свойства, выступающее в качестве ключа, и значение этого свойства, выступающее в качестве значения. Для каждого свойства, являющегося частью ключа EntityKey, должна существовать одна такая пара. Порядок пар «ключ-значение» не играет роли, однако должно быть включено каждое ключевое свойство. Имена свойств представляют собой простые имена, которые не дополняются именем типа сущности или именем схемы.
Примеры
В этом примере показано, как создать и использовать EntityKey.
using (AdventureWorksEntities context =
new AdventureWorksEntities())
{
try
{
// Create the key that represents the order.
EntityKey orderKey =
new EntityKey("AdventureWorksEntities.SalesOrderHeaders",
"SalesOrderID", orderId);
// Create the stand-in SalesOrderHeader object
// based on the specified SalesOrderID.
SalesOrderHeader order = new SalesOrderHeader();
order.EntityKey = orderKey;
// Assign the ID to the SalesOrderID property to matche the key.
order.SalesOrderID = (int)orderKey.EntityKeyValues[0].Value;
// Attach the stand-in SalesOrderHeader object.
context.SalesOrderHeaders.Attach(order);
// Create a new SalesOrderDetail object.
// You can use the static CreateObjectName method (the Entity Framework
// adds this method to the generated entity types) instead of the new operator:
// SalesOrderDetail.CreateSalesOrderDetail(1, 0, 2, 750, 1, (decimal)2171.2942, 0, 0,
// Guid.NewGuid(), DateTime.Today));
SalesOrderDetail detail = new SalesOrderDetail
{
SalesOrderID = orderId,
SalesOrderDetailID = 0,
OrderQty = 2,
ProductID = 750,
SpecialOfferID = 1,
UnitPrice = (decimal)2171.2942,
UnitPriceDiscount = 0,
LineTotal = 0,
rowguid = Guid.NewGuid(),
ModifiedDate = DateTime.Now
};
order.SalesOrderDetails.Add(detail);
context.SaveChanges();
}
catch (InvalidOperationException)
{
Console.WriteLine("Ensure that the key value matches the value of the object's ID property.");
}
catch (UpdateException)
{
Console.WriteLine("An error has occurred. Ensure that an object with the '{0}' key value exists.",
orderId);
}
}
Применяется к
EntityKey(String, IEnumerable<EntityKeyMember>)
Инициализирует новый экземпляр класса EntityKey именем набора сущностей и коллекцией IEnumerable<T> объектов EntityKeyMember.
public:
EntityKey(System::String ^ qualifiedEntitySetName, System::Collections::Generic::IEnumerable<System::Data::EntityKeyMember ^> ^ entityKeyValues);
public EntityKey (string qualifiedEntitySetName, System.Collections.Generic.IEnumerable<System.Data.EntityKeyMember> entityKeyValues);
new System.Data.EntityKey : string * seq<System.Data.EntityKeyMember> -> System.Data.EntityKey
Public Sub New (qualifiedEntitySetName As String, entityKeyValues As IEnumerable(Of EntityKeyMember))
Параметры
- qualifiedEntitySetName
- String
Объект String, представляющий имя набора сущностей, сопровождаемое именем контейнера сущностей.
- entityKeyValues
- IEnumerable<EntityKeyMember>
Коллекция IEnumerable<T> объектов EntityKeyMember, которыми следует инициализировать ключ.
Применяется к
EntityKey(String, String, Object)
Инициализирует новый экземпляр класса EntityKey именем набора сущностей и конкретной парой ключей сущности.
public:
EntityKey(System::String ^ qualifiedEntitySetName, System::String ^ keyName, System::Object ^ keyValue);
public EntityKey (string qualifiedEntitySetName, string keyName, object keyValue);
new System.Data.EntityKey : string * string * obj -> System.Data.EntityKey
Public Sub New (qualifiedEntitySetName As String, keyName As String, keyValue As Object)
Параметры
- qualifiedEntitySetName
- String
Объект String, представляющий имя набора сущностей, сопровождаемое именем контейнера сущностей.
Примеры
В этом примере показано, как создать и использовать EntityKey.
using (AdventureWorksEntities context =
new AdventureWorksEntities())
{
try
{
// Create the key that represents the order.
EntityKey orderKey =
new EntityKey("AdventureWorksEntities.SalesOrderHeaders",
"SalesOrderID", orderId);
// Create the stand-in SalesOrderHeader object
// based on the specified SalesOrderID.
SalesOrderHeader order = new SalesOrderHeader();
order.EntityKey = orderKey;
// Assign the ID to the SalesOrderID property to matche the key.
order.SalesOrderID = (int)orderKey.EntityKeyValues[0].Value;
// Attach the stand-in SalesOrderHeader object.
context.SalesOrderHeaders.Attach(order);
// Create a new SalesOrderDetail object.
// You can use the static CreateObjectName method (the Entity Framework
// adds this method to the generated entity types) instead of the new operator:
// SalesOrderDetail.CreateSalesOrderDetail(1, 0, 2, 750, 1, (decimal)2171.2942, 0, 0,
// Guid.NewGuid(), DateTime.Today));
SalesOrderDetail detail = new SalesOrderDetail
{
SalesOrderID = orderId,
SalesOrderDetailID = 0,
OrderQty = 2,
ProductID = 750,
SpecialOfferID = 1,
UnitPrice = (decimal)2171.2942,
UnitPriceDiscount = 0,
LineTotal = 0,
rowguid = Guid.NewGuid(),
ModifiedDate = DateTime.Now
};
order.SalesOrderDetails.Add(detail);
context.SaveChanges();
}
catch (InvalidOperationException)
{
Console.WriteLine("Ensure that the key value matches the value of the object's ID property.");
}
catch (UpdateException)
{
Console.WriteLine("An error has occurred. Ensure that an object with the '{0}' key value exists.",
orderId);
}
}