エンティティフレームワークでSQL CLRによって記述されたユーザー定義型を使用するにはどうすればよいですか? このタイプは、正しい方法でペルシア語日付データ型を実装するように設計されています。 私はこのカスタム型を使用する)HasColumnTypeを(使用してみました:エンティティフレームワークでSQLユーザー定義型を使用する方法6
modelBuilder.Properties()
.Where(x => x.PropertyType == typeof(DateTime))
.Configure(c => c.HasColumnType("PersianDate"));
を、それが成功しなかったと、私はこのエラーを得た:
System.InvalidOperationException: Sequence contains no matching element at System.Linq.Enumerable.Single[TSource](IEnumerable
1 source, Func
2 predicate) at System.Data.Entity.Utilities.DbProviderManifestExtensions.GetStoreTypeFromName(DbProviderManifest providerManifest, String name) at System.Data.Entity.ModelConfiguration.Configuration.Properties.Primitive.PrimitivePropertyConfiguration.ConfigureColumn(EdmProperty column, EntityType table, DbProviderManifest providerManifest) at System.Data.Entity.ModelConfiguration.Configuration.Properties.Primitive.PrimitivePropertyConfiguration.Configure(EdmProperty column, EntityType table, DbProviderManifest providerManifest, Boolean allowOverride, Boolean fillFromExistingConfiguration) at ...
私はこのエラーが結果であることを確信していますHasColumnType()を使用します。また、私はこのタイプが私のデータベースで正しく動作することを確信しています。
は、おそらくあなたは正しい、それだけでプリミティブ型での作業です。 DateTime関連の移行を足場に乗せる前に、このカスタムタイプをデータベースに追加しました。また、datetime2にはいくつかの制限があり、私はそれを使用したくない、そのうちの1つはデータベースに間違った日付を挿入することができるということです。 –