EntityKey Konstruktory
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Inicializuje novou instanci EntityKey třídy.
Přetížení
EntityKey() |
Inicializuje novou instanci EntityKey třídy. |
EntityKey(String, IEnumerable<KeyValuePair<String,Object>>) |
Inicializuje novou instanci EntityKey třídy s názvem sady entit a obecnou KeyValuePair kolekcí. |
EntityKey(String, IEnumerable<EntityKeyMember>) |
Inicializuje novou instanci EntityKey třídy s názvem sady entit a IEnumerable<T> kolekcí EntityKeyMember objektů. |
EntityKey(String, String, Object) |
Inicializuje novou instanci EntityKey třídy s názvem sady entit a konkrétním párem klíčů entity. |
EntityKey()
Inicializuje novou instanci EntityKey třídy.
public:
EntityKey();
public EntityKey ();
Public Sub New ()
Platí pro
EntityKey(String, IEnumerable<KeyValuePair<String,Object>>)
Inicializuje novou instanci EntityKey třídy s názvem sady entit a obecnou KeyValuePair kolekcí.
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)))
Parametry
- qualifiedEntitySetName
- String
A String , který je názvem sady entit kvalifikovaným názvem kontejneru entit.
- entityKeyValues
- IEnumerable<KeyValuePair<String,Object>>
Obecná KeyValuePair kolekce.
Každý pár klíč-hodnota má název vlastnosti jako klíč a hodnotu této vlastnosti jako hodnotu. Pro každou vlastnost, která je součástí objektu EntityKey, by měl existovat jeden pár. Pořadí párů klíč/hodnota není důležité, ale každá vlastnost klíče by měla být zahrnuta. Názvy vlastností jsou jednoduché názvy, které nejsou kvalifikované s názvem typu entity nebo názvem schématu.
Příklady
Tento příklad ukazuje, jak vytvořit a použít 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);
}
}
Platí pro
EntityKey(String, IEnumerable<EntityKeyMember>)
Inicializuje novou instanci EntityKey třídy s názvem sady entit a IEnumerable<T> kolekcí EntityKeyMember objektů.
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))
Parametry
- qualifiedEntitySetName
- String
A String , který je názvem sady entit kvalifikovaným názvem kontejneru entit.
- entityKeyValues
- IEnumerable<EntityKeyMember>
Kolekce IEnumerable<T>EntityKeyMember objektů, pomocí kterých chcete inicializovat klíč.
Platí pro
EntityKey(String, String, Object)
Inicializuje novou instanci EntityKey třídy s názvem sady entit a konkrétním párem klíčů entity.
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)
Parametry
- qualifiedEntitySetName
- String
A String , který je názvem sady entit kvalifikovaným názvem kontejneru entit.
Příklady
Tento příklad ukazuje, jak vytvořit a použít 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);
}
}