내가 SQL에 Linq에를 사용하여 DB를 내 상속 계층 구조를 매핑하기 위해 노력하고있어 SQL로지도 상속
public interface IStage
{ ... }
public abstract class SimpleStage<T> : IStage where T : Process
{ ... }
public class ConcreteStage : SimpleStage<ConcreteProcess>
{ ... }
내가 할 런타임에서
<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>
오류 :
다음은 매핑 System.InvalidOperationException이 처리되지 않은 메시지 = "매핑 문제였다 '형식 매핑에 대한 런타임 유형을 찾을 수 없습니다 BusinessLogic.Domain.Simpl eStage '. "
매핑 파일에 SimpleStage 또는 SimpleStage <T>을 지정하지 않아도 런타임에서 다른 유형의 오류가 발생합니다.
DC는 다음과 같이 생성된다 :이 기능을 지원하지 않습니다 Linq는 SQL에 경우
StreamReader sr = new StreamReader(@"MappingFile.map");
XmlMappingSource mapping = XmlMappingSource.FromStream(sr.BaseStream);
DataContext dc = new DataContext(@"connection string", mapping);
, 당신은,하지 다른 ORM을 알려 주시기 바랍니다 수 있습니다. 미리 감사드립니다.
감사합니다!
크세 니아
을 쓸 때 매핑 파일에 문제가 수정되었습니다 있도록 IL에서 그 이름이 SimpleStage'1 < ...>처럼 보이는, 당신에 대해 무엇을 참조 이야기? LINQ 관련 특성을 사용하여 클래스를 꾸미는 중이라면 POCO 클래스를 사용하고 XML 파일로만 매핑을 제공합니다. –
미안 해요. 프로젝트 -> 참조 추가를 선택한 다음 BusinessLogic.Domain.ISTA 어셈블리를 선택하는 것입니다. 또한 BusinessLogic.Domain을 사용하는 것과 같이 라이브러리를 가져옵니다. –
아 물론 물론 BL 어셈블리에 대한 참조를 추가하고 다른 모든 상속하지 않는 엔터티의이 상속 계층 구조 매핑을 사용하지 않고 –