আমার ডাটাবেসে সেন্ট্রি নামে একটি টেবিল রয়েছে (তৈরি টেবিলের বিবৃতি নীচে দেখুন)। এটিতে একটি প্রাথমিক কী, কয়েকটি বিদেশী কী এবং এটিতে বিশেষ কিছু নেই। আমার ডাটাবেসে সেইরকম অনেকগুলি সারণী রয়েছে তবে কোনও কারণে, এই টেবিলটি EF প্রক্সি ক্লাসে একটি "বৈষম্যমূলক" কলামটি দিয়ে শেষ হয়েছিল।
C # তে এভাবে ক্লাসটি ঘোষণা করা হয়:
public class SEntry
{
public long SEntryId { get; set; }
public long OriginatorId { get; set; }
public DateTime DatePosted { get; set; }
public string Message { get; set; }
public byte DataEntrySource { get; set; }
public string SourceLink { get; set; }
public int SourceAppId { get; set; }
public int? LocationId { get; set; }
public long? ActivityId { get; set; }
public short OriginatorObjectTypeId { get; set; }
}
public class EMData : DbContext
{
public DbSet<SEntry> SEntries { get; set; }
...
}
আমি যখন এই টেবিলটিতে একটি নতুন সারি যুক্ত করার চেষ্টা করি তখন আমি ত্রুটিটি পাই:
System.Data.SqlClient.SqlException: Invalid column name 'Discriminator'.
এই সমস্যাটি কেবল তখনই ঘটে যখন আপনি নিজের সি # ক্লাসটি অন্য শ্রেণি থেকে উত্তরাধিকারী হচ্ছেন, তবে সেন্ট্রি কোনও কিছু থেকে উত্তরাধিকার সূত্রে আসছেন না (যেমন আপনি উপরে দেখতে পারেন)।
এগুলি ছাড়াও, যখন আমি সেন্টরিজ সম্পত্তিটির জন্য ইএমডাটা উদাহরণটি মাউস করি তখন আমি ডিবাগারে সরঞ্জাম-টিপটি পাই, এটি প্রদর্শিত হয়:
base {System.Data.Entity.Infrastructure.DbQuery<EM.SEntry>} = {SELECT
[Extent1].[Discriminator] AS [Discriminator],
[Extent1].[SEntryId] AS [SEntryId],
[Extent1].[OriginatorId] AS [OriginatorId],
[Extent1].[DatePosted] AS [DatePosted],
[Extent1].[Message] AS [Message],
[Extent1].[DataEntrySource] AS [DataE...
এই ইস্যুটির নীচে কোথায় পাবেন কোনও পরামর্শ বা ধারণা? আমি টেবিল, প্রাথমিক কী এবং কয়েকটি অন্যান্য নাম পরিবর্তন করার চেষ্টা করেছি, কিন্তু কিছুই কার্যকর হয় না।
এসকিউএল টেবিল:
CREATE TABLE [dbo].[SEntries](
[SEntryId] [bigint] IDENTITY(1125899906842624,1) NOT NULL,
[OriginatorId] [bigint] NOT NULL,
[DatePosted] [datetime] NOT NULL,
[Message] [nvarchar](500) NOT NULL,
[DataEntrySource] [tinyint] NOT NULL,
[SourceLink] [nvarchar](100) NULL,
[SourceAppId] [int] NOT NULL,
[LocationId] [int] NULL,
[ActivityId] [bigint] NULL,
[OriginatorObjectTypeId] [smallint] NOT NULL,
CONSTRAINT [PK_SEntries] PRIMARY KEY CLUSTERED
(
[SEntryId] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
ALTER TABLE [dbo].[SEntries] WITH CHECK ADD CONSTRAINT [FK_SEntries_ObjectTypes] FOREIGN KEY([OriginatorObjectTypeId])
REFERENCES [dbo].[ObjectTypes] ([ObjectTypeId])
GO
ALTER TABLE [dbo].[SEntries] CHECK CONSTRAINT [FK_SEntries_ObjectTypes]
GO
ALTER TABLE [dbo].[SEntries] WITH CHECK ADD CONSTRAINT [FK_SEntries_SourceApps] FOREIGN KEY([SourceAppId])
REFERENCES [dbo].[SourceApps] ([SourceAppId])
GO
ALTER TABLE [dbo].[SEntries] CHECK CONSTRAINT [FK_SEntries_SourceApps]
GO