我正在設計一個與Visual Studio中的Edmx設計器非常相似的設計器。我想添加與Edmx設計人員適用於實體和屬性名稱相同的驗證。有人可以分享什麼是驗證規則,即允許什麼字符,哪些不允許。 Entity/Property名稱和其他這樣的規則的長度可能是多少?實體框架:實體名稱中的無效字符列表
0
A
回答
0
看看xsds。加載工件時(CSDL/MSL/SSDL)有兩步驗證1 - 使用xsd,2內部驗證檢查附加規則,在大多數情況下不能用xsd表示。 EF6現在是開源的,但以前版本的xsd模式沒有改變。你可以找到它們here。 (映射的模式位於MappingSpecification文件夾中)。
如果你看一下V3 CSDL架構屬性的名稱規定如下:
<xs:simpleType name="TSimpleIdentifier">
<xs:restriction base="xs:string">
<xs:maxLength value="480" />
<!-- The below pattern represents the allowed identifiers in ECMA specification -->
<xs:pattern value="[\p{L}\p{Nl}][\p{L}\p{Nl}\p{Nd}\p{Mn}\p{Mc}\p{Pc}\p{Cf}]{0,}" />
</xs:restriction>
</xs:simpleType>
如果你不想用的XSD打擾,想採取內部驗證即可優勢只需將您的xml加載到相應的項目集合即可。再次在EF6中已經添加了一些重載,允許載入工件,但如果它們無效但不會拋出異常,但會返回null和錯誤列表作爲out參數(在項目集合中查找公共靜態工廠方法)。
+0
謝謝帕維爾。這真的有幫助! – Naveed 2013-04-13 04:43:46
相關問題
- 1. 實體框架無效的列名'Model_Key'
- 2. SqlException:無效的列名(實體框架)
- 3. Bot框架名稱實體
- 4. 實體框架無效列名稱錯誤
- 5. 實體框架表名稱更改
- 6. 實體框架數據優先 - 無效的對象名稱dbo.TableName
- 7. 實體框架異常:無效的對象名稱'導航'
- 8. 實體框架4.1無效的對象名稱
- 9. C#實體框架錯誤:無效的對象名稱'dbo.TableName'
- 10. 實體框架 - 無效的對象名稱
- 11. 實體框架無效的對象名稱錯誤
- 12. 實體框架4.1無效的對象名稱'我'
- 13. 當在實體框架中使用savechanges()時,無效的列名稱
- 14. 爲什麼實體框架實體集的名稱是「it」?
- 15. 實體框架代碼優先 - 無效的列名鑑別
- 16. 實體框架急切加載實體列表內的實體列表
- 17. 如何獲取實體框架中映射實體的表名稱核心
- 18. 實體框架POCO實體模板:格式屬性名稱
- 19. 停止VS實體框架設計器恢復名稱「實體」
- 20. 實體框架4.1:名稱約束
- 21. 更改實體框架模式名稱
- 22. 實體框架6.模式名稱
- 23. 從實體框架中的列數據顯示列名稱
- 24. 通過實體框架中的字符串獲取實體
- 25. 實體框架(實體類)序列化
- 26. 在實體框架中重命名列
- 27. 實體框架,計算實體字段
- 28. 實體框架實體json
- 29. 外鍵無效與實體框架
- 30. 實體框架在表存在時說無效的對象名稱
如果你使用C#,也許這可以幫助http://stackoverflow.com/questions/950616/what-characters-are-allowed-in-c-sharp-class-name – SteveW 2013-03-27 18:55:09