2012-02-09 11 views
3

私のDALを作成するために、亜音速のコアT4テンプレートがあります。私はデータベース内の異なるスキーマへの選択的なアクセス権を持つユーザーを持っている接続文字列。異なるスキーマ間で同じオブジェクト名のためにT4テンプレートでサブソニックトランスフォームが失敗する

問題は、同じ名前のオブジェクト(テーブルなど)を持つ2つのスキーマにアクセスできるユーザーのDAL部分クラスを生成しようとすると発生します。

私のユーザーがMYSCHEMA1とMYSCHEMA2にアクセスでき、これらのスキーマに両方ともCOMMONOBJECTという名前のオブジェクトが含まれていると、亜音速での変換が失敗します。

は、ここで私は、これらのオブジェクトの1つを削除したくない

Running transformation: System.InvalidOperationException: Sequence contains more than one matching element 
    at System.Linq.Enumerable.SingleOrDefault[TSource](IEnumerable`1 source, Func`2 predicate) 
    at Microsoft.VisualStudio.TextTemplating1A7026BAC93607B56DDB080E7C2EC2DB.GeneratedTextTransformation.LoadTables() 
    at Microsoft.VisualStudio.TextTemplating1A7026BAC93607B56DDB080E7C2EC2DB.GeneratedTextTransformation.TransformText() 
    at Microsoft.VisualStudio.TextTemplating.TransformationRunner.RunTransformation(TemplateProcessingSession session, String source, ITextTemplatingEngineHost host, String& result) 

を取得エラーです。

私はMYSCHEMA1.COMMONOBJECTのように '完全修飾名'を使用して亜音速変換を実行して変換を実行する方法がありますか?

答えて

2

あなたのttテンプレートを変更してから、まずスキーマを見つけて、それを使って例のオブジェクトにプレフィックスを付けます。 myschema.employee

+0

ありがとうございます。 –

関連する問題