2009-07-10 20 views
0
のルートを解決できません

現在のプロジェクトでは、いくつかの異なるパーシスタンスレイヤーを試しています。私たちはPOCO/PIアプローチを試みています。私たちの候補の1つはLinqToSqlです。私はVijay Mehtaが「Pro LINQ Object Relational Mapping with C#2008」で発表した作業に従っています.POCOとマッピングファイルは手作業で作成されています。LinqtoSQL - マッピング問題:タイプ

私は、次のPOCOあります

<Database Name="CINFulfillment" xmlns="http://schemas.microsoft.com/linqtosql/mapping/2007"> 
    <Table Name="dbo.tblNotifications" > 
     <Type Name="CIN.CIN2010.DomainModel.Notifications.Notification, CIN.CIN2010.DomainModel" InheritanceCode="0" IsInheritanceDefault="true"> 
     <Column Name="NotificationID" Member="NotificationID" Storage="_NotificationID" DbType="Int NOT NULL IDENTITY" IsPrimaryKey="true" IsDbGenerated="true" AutoSync="OnInsert" /> 
     <Column Name="NotificationTypeID" Member="NotificationTypeID" Storage="_NotificationTypeID" DbType="TinyInt NOT NULL" /> 
     <Column Name="OwnerID" Member="OwnerID" Storage="_OwnerID" DbType="Int NOT NULL" /> 
     <Column Name="OwnerTypeID" Member="OwnerTypeID" Storage="_OwnerTypeID" DbType="TinyInt NOT NULL" /> 
     <Column Name="SubTypeID" Member="SubTypeID" Storage="_SubTypeID" DbType="TinyInt NOT NULL" /> 
     <Column Name="CreationDateTime" Member="CreationDateTime" Storage="_CreationDateTime" DbType="SmallDateTime NOT NULL" /> 
     <Column Name="Message" Member="Message" Storage="_Message" DbType="VarChar(255) NOT NULL" CanBeNull="false" /> 
     <Column Name="RequiresAction" Member="RequiresAction" Storage="_RequiresAction" DbType="Bit NOT NULL" /> 
     <Column Name="ActionTypeID" Member="ActionTypeID" Storage="_ActionTypeID" DbType="TinyInt" /> 
     <Column Name="DueDateTime" Member="DueDateTime" Storage="_DueDateTime" DbType="SmallDateTime" /> 
     <Column Name="CompletedDateTime" Member="CompletedDateTime" Storage="_CompletedDateTime" DbType="SmallDateTime" /> 
     <Column Name="CompletedStatusID" Member="CompletedStatusID" Storage="_CompletedStatusID" DbType="TinyInt NOT NULL" /> 
     </Type> 
    </Table> 
</Database> 

私はmappingsourceをロードしようとすると、私はエラーで終わる:

マッピングファイルのため

namespace CIN.CIN2010.DomainModel.Notifications 
{ 
    public abstract class Notification //: Repository.BaseEntity 
    { 

     public Notification(int notificationId, OwnerTag owner, DateTime creationDateTime, string message) 
     { 
      this._notificatonId = notificationId; 
      this._owner = owner; 
      this._creationDateTime = creationDateTime; 
      this._message = message; 
     } 

     // omitted for brevity 
    } 
} 

を、私はこれを持っています

Failed CanInstantiateDataContext CIN.CIN2010.Persistence.L2S.Test Test method CIN.CIN2010.Persistence.L2S.Test.ContextTests.CanInstantiateDataContext threw exception: System.TypeInitializationException: The type initializer for 'Nested' threw an exception. ---> System.InvalidOperationException: Mapping Problem: Unable to resolve root for type 'CIN.CIN2010.DomainModel.Notifications.Notification'..

どのようなアイデアですか?

答えて

1

Name属性から "CIN.CIN2010.DomainModel"を削除します。 LinqはSQLをアセンブリ自体を見つける。