1

POCOクラスとDBの間にLinqからSQLへのマッピングがあります。単純なscalr値よりも少し複雑な構成を表すプロパティをクラスに追加できるようにしたいと思います。

たとえば、2つの単純なスカラー値を保持するカスタム構造体タイプがあります。これを別のテーブルにしてから、プロパティとしてFKを追加したくありません。LinqからSQLへのXMLマッピングファイルを使用して、この構造体のプロパティをマッピングすることは可能ですか?

例えば、

public class Foo
{
    public string Blah { get; set; }
    public Bar Yada { get; set; }
}

public struct Bar
{
    public int A { get; set; }
    public int B { get; set; }
}

Blah、、Yada.AおよびYada.BすべてがFooテーブルの列として永続化されるように指定するにはどうすればよいですか?

これもできますか?

4

2 に答える 2

1

これを行うには、.NET4のEntityFrameworkが必要だと思います。複雑なタイプとエンティティに関するこのブログ投稿を参照してください。

于 2009-12-19T23:44:36.930 に答える
1

これは本当につまらないですが、私がL2Sに固執するなら、それは私がしなければならないことである必要があるかもしれないように聞こえます。

public class Foo
{
    public string Blah { get; set; }

    public int Bar_A { get; set; }
    public int Bar_B { get; set; }

    /* not mapped to DB */
    public Bar Yada
    {
        get { return new Bar { A = this.Bar_A, B = this.Bar_B }; }
        set { this.Bar_A = value.A; this.Bar_B = value.B; }
    }
}

public struct Bar
{
    public int A { get; set; }
    public int B { get; set; }
}

もちろん、実際のコードでは、実際のBar型には単に値が含まれているだけではないため、値が何度も作成されないようにするでしょう。

于 2009-12-20T20:10:26.200 に答える