データベース構造
私はこのような構造を持つ非常に非正規化されたSQLテーブルを持っている:テーブルを1対多数の関係を持つEFクラスに分割することはできますか?
CREATE TABLE logistix.shipments
(
shipment_id INT NOT NULL PRIMARY KEY,
destination_id NVARCHAR(15) NOT NULL PRIMARY KEY,
pallet_id INT NOT NULL PRIMARY KEY,
destination_order INT NOT NULL,
pallet_description NVARCHAR(40) NOT NULL
)
それぞれ特定のレコードがユニークですが、1つの出荷は複数の宛先に行く複数のパレットを持つことができます。
.NETインタフェース
これは私がこのような構造にするEFオブジェクト、によって操作されようとしている:私は分割のチュートリアルを見つけたものの
class ShippingContext : DbContext
{
public virtual DbSet<Shipment> Shipments {get; set;}
}
class Shipment
{
int ShipmentId {get; set;}
List<Destination> ShipmentStops {get; set;}
}
class Destination
{
string DestinationId {get; set;}
int DestinationOrder {get; set;}
List<Pallet> Pallets {get; set;}
}
class Pallet
{
int PalletId {get; set;}
string PalletDescription {get; set;}
}
問題
テーブルを1対1エンティティにマッピングし、外部キーデータをEFのコレクションにマッピングすると、あるテーブルの列をコレクションにマッピングすることについて何も見つかりません。これは可能ですか、テーブルを分割する、ビューを作成する、または各列のプロパティを持つPOCOクラスを作成することに限定していますか?
Endmatter
出荷の任意の数のレポートを生成するためのSQLテーブルにアクセスする別のアプリケーション、そうではなく正規化された表とのスイートよりも、パフォーマンスのために非正規化テーブルを使用することを選択したことパワーズビューには、取得に時間がかかります。
MulţumescのMULTになります!どのようにこれらのいずれかに書き込むだろうか? – JAF