0

私はEntityFrameworkCode-Firstを使い始めました。これは、データベースをすばやく起動して実行するための優れた方法のように見えるためです。私はPostgreSQLのバックグラウンドを持っています。たとえば、テーブルの配列タイプをサポートしていますtime[]。私の質問は2つあります。SQL Serverは配列タイプをサポートしていますか?サポートしている場合、EFでそれらをどのように使用できますか?それらがサポートされていない場合、このデータを表す別の方法は何ですか?

table Venue
    openhours time[]

編集:上記の配列は、曜日ごとに異なる時刻を格納することを目的としています。たとえば、週末から平日まで、会場の営業時間が異なる場合があります。

4

2 に答える 2

1

SQL Server は配列型をサポートしていません。例のスキーマから推定すると、同等の EF POCO は次のようになると思います。

public class Venue
{
   public int VenueId { get; set; }
   public DateTime OpenHour { get; set; }
   public DateTime CloseHour { get; set; }
}

特定の時間に が開いていたかどうかを調べるにVenueは、範囲クエリ が必要ですVenue.Where(a => a.OpenHour <= time && a.CloseHour >= time)。もちろん、これは非常に単純化した例です。ほとんどの場合、会場の時間を別のテーブルに保存したいと思うでしょう。しかし、これがあなたを正しい方向に動かすことができることを願っています.

于 2012-09-27T04:26:56.943 に答える
1

いいえ、サポートされていません。テーブルへの外部キーを使用してopenhours別のテーブル ( )に格納する必要があります。VenueOpenhoursVenue

于 2012-09-27T04:24:39.900 に答える