[英]How can I configure Entity Framework to automatically trim values retrieved for specific columns mapped to char(N) fields?
[英]How can you force Entity Framework to use string instead of char for CHAR, NCHAR, VARCHAR(1) and NVARCHAR(1) columns?
我們有一個數據庫表,當前有一個VARCHAR(1)
列。
我們有時會對此表進行更改,這需要我們重新生成DBML文件中的對象。 我們的相應代碼希望將此值引用為字符串,但是LINQ-to-SQL始終假定它是可為空的char。 為了解決這個問題,我們必須在DBML設計器中手動將列設置為字符串。 我想防止我們的開發人員在這些類型的字段中意外使用char而不是string。
有沒有一種方法可以強制實體框架對所有CHAR/NCHAR/VARCHAR(1)/NVARCHAR(1)
字段采用字符串?
如果沒有辦法做到這一點,我們可能會將列更改為VARCHAR(2)
或類似的內容。 無論我們決定如何,我們都會傳播到多個表,因為多個表正在使用這種類型的列定義。 我們必須更改的唯一列數是阻止我們目前全面實施此列的原因。
編輯:將“實體框架”更改為“ LINQ-to-SQL”
我有一個類似的問題。 我通過使用POCO T4模板並修改模板以發出附加屬性來解決該問題,該附加屬性在設置原始屬性之前進行了一些檢查。 T4模板可以使用命名約定來標識需要此字段的字段。 這是我博客的鏈接,我在其中詳細介紹了它的工作原理http://nigelfindlater.blogspot.com/2010/04/implementation-of-custom-types-within.html
我想一種替代方法可能是創建一個局部類,以類似的方式添加附加屬性。
我希望這有幫助...
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.