[英]Is it possible to create User-Defined Data Types when using EF 4.1 Code First?
使用EF 4.1 Code First時,是否可以為您的架構創建用戶定義的數據類型?
簡單的答案是沒有。
更長的答案:
嘗試使用用戶定義的類型時,當前的EF實現導致多個問題:
Seed
方法中定義該類型(通常用於其他數據庫結構,如觸發器或索引)。 為了完成這項工作,您必須通過實現IDatabaseInitializer
來創建全新的初始化程序,並將數據庫創建和表創建分開,因為自定義類型定義必須位於它們之間。 這是如何創建數據庫初始化程序的一些示例(每次運行應用程序時,該初始化程序都會重新創建表)。 HasColumnType
API中的ColumnAttribute
和HasColumnType
都不接受自定義類型。 因此,您的映射必須指定基本的原始SQL類型,並且這些自定義類型將在EF生成的表DDL中使用。 因此,除非自定義數據庫初始化程序對這些生成的SQL腳本進行后處理,並用自定義類型(非常難看的解決方案)替換基本類型,否則表將不會使用它們。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.