如何使用一個用戶定義類型 - 通過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有一些限制,我不想使用它,其中之一是可以在數據庫中插入錯誤的日期。 –