लिंक से एसक्यूएल इकाई संघों (गैर पूर्णांक प्राथमिक कुंजी)

मैं लिंक से एसक्यूएल के आसपास खेल रहा हूं, लेकिन संस्थाओं के बीच संघों को परिभाषित करते समय मैं एक समस्या में आया हूं।

मेरे पास 2 टेबल हैं, 1 एक ग्राहक है जिसमें ग्राहक लेनदेन होता है और दूसरा एक लुकअप टेबल होता है जिसमें लेनदेन प्रकार होते हैं। उदाहरण के लिए, एक लेनदेन को 'सीएएसएच' टाइप किया जा सकता है और लुकअप टेबल में मूल्य 'कैश' की प्राथमिक कुंजी और 'कैश भुगतान' विवरण होगा।

जब मैं अपना टेस्ट प्रोग्राम चलाता हूं, तो मुझे "सिस्टम ऑब्जेक्ट टाइप करने में असमर्थ" System.Stnt 'टाइप करने में असमर्थ "त्रुटि। अगर मैं लेनदेन में प्राथमिक कुंजी बदलता हूं और लुकअप टेबल को एक पूर्णांक में बदलता हूं, तो प्रोग्राम अपेक्षित के रूप में काम करता है।

मैं कुछ मौलिक याद कर रहा हूं, लेकिन मुझे यकीन नहीं है कि क्या। किसी भी मदद की सराहना की।

यहां मेरी कोड मैप करने के लिए उपयोग किया जा रहा कोड है:

[Table(Name = "customer")]
public class Customer
{
    [Column(IsPrimaryKey = true, Name = "customer_id")]
    public int CustomerID { get; set; }

    private EntitySet<transaction> _Transactions;

    [Association(Storage = "_Transactions", OtherKey="CustomerID")]
    public EntitySet<transaction> Transactions
    {
        get { return this._Transactions; }
        set { this._Transactions.Assign(value); }
    }

    public Customer()
    {
        this._Transactions = new EntitySet<transaction>();
    }
}

[Table(Name = "custtran")]
public class Transaction
{
    [Column(Name = "compno", DbType="smallint")]
    public int CompanyNumber { get; set; }

    [Column(IsPrimaryKey = true, Name = "tran_no")]
    public int TranNo { get; set; }

    [Column(Name = "customer_id")]
    public int CustomerID { get; set; }

    [Column(Name = "tran_type", DbType="char(4)")]
    public string TranType { get; set; }

    private EntityRef _Customer;

    [Association(Storage = "_Customer", ThisKey = "CustomerID")]
    public Customer Customer
    {
        get { return this._Customer.Entity; }
        set { this._Customer.Entity = value; }
    }

    private EntitySet<transactionType> _TransactionTypes;
    [Association(Name="Custtran_TranType", Storage = "_TransactionTypes", IsForeignKey=true,  OtherKey = "TranType")]
    public EntitySet<transactionType> TransactionTypes
    {
        get { return this._TransactionTypes; }
        set { this._TransactionTypes.Assign(value); }
    }

    public Transaction()
    {
       this._Customer = default(EntityRef);
       this._TransactionTypes = new EntitySet<transactionType>();
    }
}

[Table(Name = "tran_type")]
public class TransactionType
{
    [Column(Name = "compno", DbType = "smallint")]
    public int CompanyNumber { get; set; }

    [Column(IsPrimaryKey = true, Name = "tran_type", DbType="char(4)")]
    public string TranType { get; set; }

    [Column(Name = "description", DbType="Varchar(50)")]
    public string Description { get; set; }

    private EntityRef<transaction> _Transaction;
    [Association(Name="Custtran_TranType", Storage = "_Transaction", ThisKey = "TranType")]
    public Transaction Transaction
    {
        get { return this._Transaction.Entity; }
        set { this._Transaction.Entity = value; }
    }

    public TransactionType()
    {
        this._Transaction = default(EntityRef<transaction>);
    }
}
0