मैं Entity Framework 5 code first
का उपयोग कर रहा हूं। मेरे डेटाबेस में मेरे पास 2 टेबल, AvailPayPeriods
और AvailPayPeriodsWeekly
हैं। वे दोनों एक ही लग रही है: मैं कॉन्फ़िगर करने के लिए संघर्ष कर रहा हूँएंटीटी फ्रेमवर्क कोड में प्रति प्रकार एकाधिक ऑब्जेक्ट सेट को कॉन्फ़िगर कैसे करें
public class PayPeriod : IEntity
{
public int Id { get; set; }
public DateTime Period { get; set; }
}
:
Period datetime not null
मैं दोनों में से किसी 1 2 प्रतिनिधित्व करने के लिए निम्नलिखित वर्ग बनाने का निर्णय लेते क्योंकि इन 2 टेबल प्रकृति में समान हैं 2. मैं अपने डेटाबेस संदर्भ कक्षा में निम्नलिखित है:
public DbSet<PayPeriod> WeeklyPayPeriods { get; set; }
public DbSet<PayPeriod> MonthlyPayPeriods { get; set; }
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Configurations.Add(new WeeklyPayPeriodConfiguration());
// Haven't yet created the configuration file for monthly pay periods
}
मेरे WeeklyPayPeriodConfiguration
वर्ग:
class WeeklyPayPeriodConfiguration : EntityTypeConfiguration<PayPeriod>
{
internal WeeklyPayPeriodConfiguration()
{
this.ToTable("AvailPayPeriodsWeekly");
}
}
जब मैं अपने भंडार साप्ताहिक भुगतान अवधियों मैं निम्नलिखित त्रुटि मिलती है वापस पाने के लिए कॉल करें:
Multiple object sets per type are not supported. The object sets 'WeeklyPayPeriods' and 'MonthlyPayPeriods' can both contain instances of type 'ePaySlips.DomainModel.Entities.PayPeriod'.
मैं उनके संबंधित तालिकाओं के लिए 2 कैसे मैप करते हैं?
क्या मुझे WeeklyPayPeriod
और MonthlyPayPeriod
नामक कक्षाओं को अलग करने के लिए बनाना चाहिए?
आप श्रेणी पेपरोडीड को सार के रूप में चिह्नित करना चाहते हैं ताकि आप डिस्कमिनेटर फ़ील्ड से बच सकें, टेबल प्रति कंक्रीट क्लास (टीपीसी) देखें: http://www.entityframeworktutorial.net/code-first/inheritance-strategy-in-code -first.aspx – Adi