3

ServiceStack.Net OrmLite が主キー列を自動的に作成するのをどのように停止しますか?

私のモデルは次のとおりです。

public class Flower2Bee
{
    public int FlowerId { get; set; }
    public int BeeId { get; set; }
}

db.CreateTable(true, typeof(Flower2Bee)) を実行すると、FlowerId col に一意制約付きの主キー インデックスが与えられます。

上記のモデルは多対多の関係を促進することを目的としているため、これには明らかな問題があります。また、主キーを持つことを意図していない他のテーブルでもこれが発生していることに気付きました。

必要に応じて、属性を持つ主キーを明示的に定義できるので、この動作をオフにすることをお勧めします。

重要な場合に備えて、SqLite で OrmLite を使用しています。

4

1 に答える 1

4

これは、ServiceStack.Net OrmLite の既知の制限です。

https://github.com/ServiceStack/ServiceStack.OrmLite/blob/master/README.md#limitations

特定のペリスタンス テクノロジとの互換性を維持するために、すべてのテーブルに主キーが必要です。上記の質問に対する解決策は、3 番目の Id プロパティをモデルに追加して、各関係行のプライマリ Id として機能させることです。

于 2013-03-30T09:53:13.770 に答える