EntityKey Sınıf

Tanım

Varlık türünün örneği olan bir nesneye dayanıklı başvuru sağlar.

public ref class EntityKey sealed : IEquatable<System::Data::EntityKey ^>
[System.Runtime.Serialization.DataContract(IsReference=true)]
[System.Serializable]
public sealed class EntityKey : IEquatable<System.Data.EntityKey>
[<System.Runtime.Serialization.DataContract(IsReference=true)>]
[<System.Serializable>]
type EntityKey = class
    interface IEquatable<EntityKey>
Public NotInheritable Class EntityKey
Implements IEquatable(Of EntityKey)
Devralma
EntityKey
Öznitelikler
Uygulamalar

Örnekler

Bu örneklerde oluşturma ve kullanma adımları gösterilmektedir EntityKey.

using (AdventureWorksEntities context =
    new AdventureWorksEntities())
{
    Object entity = null;
    IEnumerable<KeyValuePair<string, object>> entityKeyValues =
        new KeyValuePair<string, object>[] {
            new KeyValuePair<string, object>("SalesOrderID", 43680) };

    // Create the  key for a specific SalesOrderHeader object.
    EntityKey key = new EntityKey("AdventureWorksEntities.SalesOrderHeaders", entityKeyValues);

    // Get the object from the context or the persisted store by its key.
    if (context.TryGetObjectByKey(key, out entity))
    {
        Console.WriteLine("The requested " + entity.GetType().FullName +
            " object was found");
    }
    else
    {
        Console.WriteLine("An object with this key " +
            "could not be found.");
    }
}
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);
    }
}

Açıklamalar

Nesneler EntityKey sabittir; yani, yapıldıktan sonra değiştirilemezler.

Daha fazla bilgi için bkz. Varlık Anahtarları ile Çalışma.

Oluşturucular

EntityKey()

EntityKey sınıfının yeni bir örneğini başlatır.

EntityKey(String, IEnumerable<EntityKeyMember>)

Bir varlık kümesi adı ve bir nesne koleksiyonu ile sınıfının yeni bir IEnumerable<T> örneğini EntityKeyEntityKeyMember başlatır.

EntityKey(String, IEnumerable<KeyValuePair<String,Object>>)

Varlık kümesi adı ve genel KeyValuePair bir koleksiyon ile sınıfının yeni bir örneğini EntityKey başlatır.

EntityKey(String, String, Object)

Bir varlık kümesi adı ve belirli bir varlık anahtar çifti ile sınıfının yeni bir örneğini EntityKey başlatır.

Alanlar

EntityNotValidKey

Başarısız bir TREAT işleminden kaynaklanan bir varlığı tanımlamak basit EntityKey bir işlemdir.

NoEntitySetKey

Salt okunur bir varlığın tanımlandığı tekil EntityKey .

Özellikler

EntityContainerName

Varlık kapsayıcısının adını alır veya ayarlar.

EntityKeyValues

Bu EntityKeyile ilişkili anahtar değerlerini alır veya ayarlar.

EntitySetName

Varlık kümesinin adını alır veya ayarlar.

IsTemporary

değerinin geçici olup olmadığını EntityKey belirten bir değer alır.

Yöntemler

Equals(EntityKey)

Bu örneğin belirtilen EntityKeybir değerine eşit olup olmadığını gösteren bir değer döndürür.

Equals(Object)

Bu örneğin belirtilen bir nesneye eşit olup olmadığını gösteren bir değeri döndürür.

GetEntitySet(MetadataWorkspace)

Verilen meta veri çalışma alanından bu varlık anahtarı için varlık kümesini alır.

GetHashCode()

Geçerli EntityKey nesne için karma işlevi görür. GetHashCode() karma algoritmaları ve karma tablo gibi veri yapıları için uygundur.

GetType()

Type Geçerli örneğini alır.

(Devralındığı yer: Object)
MemberwiseClone()

Geçerli Objectöğesinin sığ bir kopyasını oluşturur.

(Devralındığı yer: Object)
OnDeserialized(StreamingContext)

Bir seri durumdan EntityKeyçıkarma için kullanılan yardımcı yöntemi.

OnDeserializing(StreamingContext)

Bir seri durumdan EntityKeyçıkarma için kullanılan yardımcı yöntemi.

ToString()

Geçerli nesneyi temsil eden dizeyi döndürür.

(Devralındığı yer: Object)

İşleçler

Equality(EntityKey, EntityKey)

İki EntityKey nesneyi karşılaştırır.

Inequality(EntityKey, EntityKey)

İki EntityKey nesneyi karşılaştırır.

Şunlara uygulanır