Ben SQL Linq to kullanarak DB benim miras hiyerarşisini haritasına çalışıyorum SQL içinHarita miras
public interface IStage
{ ... }
public abstract class SimpleStage<T> : IStage where T : Process
{ ... }
public class ConcreteStage : SimpleStage<ConcreteProcess>
{ ... }
Ben olsun runtime
<Database Name="NNN" xmlns="http://schemas.microsoft.com/linqtosql/mapping/2007">
<Table Name="dbo.Stage" Member="Stage">
<Type Name="BusinessLogic.Domain.IStage">
<Column Name="ID" Member="ID" DbType="Int NOT NULL IDENTITY" IsPrimaryKey="true" IsDbGenerated="true" AutoSync="OnInsert" />
<Column Name="StageType" Member="StageType" IsDiscriminator="true" />
<Type Name="BusinessLogic.Domain.SimpleStage" IsInheritanceDefault="true">
<Type Name="BusinessLogic.Domain.ConcreteStage" IsInheritanceDefault="true" InheritanceCode="1"/>
</Type>
</Type>
</Table>
</Database>
hata:
İşte haritalama olan System.InvalidOperationException işlenmeyen İleti = "haritalama sorun oldu: 'türü eşlemesi için çalışma zamanı türü bulunamıyor BusinessLogic.Domain.Simpl eStage'."
Ne SimpleStage ne de eşleme dosyasında SimpleStage <T> belirtilmekte olan yardımcı çalışma zamanı farklı türde hatalar üretmeye devam etmektedir.
DC böyle oluşturulur: Bu desteklemiyor Linq to SQL Eğer
StreamReader sr = new StreamReader(@"MappingFile.map");
XmlMappingSource mapping = XmlMappingSource.FromStream(sr.BaseStream);
DataContext dc = new DataContext(@"connection string", mapping);
, sen yapar başka ORM, tavsiye misiniz. Teşekkürler,
Saygılar!
Ksenia
yazdığında haritalama dosyası ile sorunu giderildi böylece IL yılında Adından SimpleStage'1 < ...> benziyor, sen ne hakkında referanslar konuşmak? Sınıflarımı LINQ ile ilgili özniteliklerle süslemek istediğinizde, hayır, POCO sınıflarını kullanıyorum ve yalnızca XML dosyasında eşleme sağladım –
Üzgünüz. Project -> Add Reference (Referans Ekle) ve ardından BusinessLogic.Domain.IStage için derlemeyi seçme kütüphaneyi BusinessLogic.Domain kullanarak içe aktarmak; –
oh, tabii ki BL montajına ve tüm gerekli kullanımlara –