2

EntityFramework4.3を使用しています。私のSQLServer2008データベースでは、いくつかの日付が日時ではなく日付として保存されています。

日付フィールドを使用してデータを取得する必要があります。ここではテストコードのサンプルです。

    public static Applicant Create()
    {   
        var dt = new DateTime(1967, 08, 03);

        var r = new CrudRepo<Applicant>(UowHelper.GetUow().Context);

        return r.Find(a => a.DateOfBirth == dt).Single();
    }

ただし、「シーケンスが欠落している」という問題が発生しています。

私がこれをどのように回避するかについてのアイデアはありますか?

また、ある時点でデータベースも更新する必要があります。

ありがとう。

4

2 に答える 2

3

の実際の結果var dt = new DateTime(1967, 08, 03);8/3/1967 12:00:00 AM

DataTypeは、時間をTruncateTimeする必要DateOfBirthがあるためです。Date

msdn:EntityFunctions.TruncateTimeメソッド

public static Applicant Create()
    {   
        var dt = new DateTime(1967, 08, 03);

        var r = new CrudRepo<Applicant>(UowHelper.GetUow().Context);

        return r.FirstOrDefault(a => a.DateOfBirth == EntityFunctions.TruncateTime(dt));
    }

または、.Single() method代わりに.FirstOrDefault()メソッドを使用して削除します

于 2013-01-21T17:53:47.837 に答える
0

参考までに、spajceの答えに追加するには、

System.Data.Entity.Core.Objects.EntityFunctions

に非推奨になりました

System.Data.Entity.DbFunctions
于 2015-10-14T01:59:49.173 に答える