我正在設計一個與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. 實體框架:無效的列名稱
- 2. 實體框架無效的列名稱
- 3. SqlException:無效的列名(實體框架)
- 4. 實體框架5無效的列名
- 5. 實體框架無效的列名'Model_Key'
- 6. 實體框架:無效的列名'OrganizationStructure_ID'
- 7. 實體框架4.1無效列名
- 8. 實體框架錯誤「無效列名稱」從特定表
- 9. ASP.NET MVC /實體框架錯誤 - 無效的列名稱Environment_Id「
- 10. 實體框架代碼第一個無效的列名稱Company_CompanyID
- 11. 實體框架PK名稱
- 12. 實體框架 - 按名稱
- 13. Bot框架名稱實體
- 14. 實體框架無效列名稱錯誤
- 15. Asp.NET MVC 5實體框架中的對象名稱'dbo.AspNetUsers'無效
- 16. 實體框架 - 更改表格/實體的顯示名稱
- 17. 實體框架表名稱更改
- 18. 實體框架按名稱獲取表
- 19. 兩個不同實體框架中的相同實體名稱
- 20. 實體框架 - 無效的對象名稱
- 21. 實體框架數據優先 - 無效的對象名稱dbo.TableName
- 22. 實體框架異常:無效的對象名稱'導航'
- 23. C#實體框架錯誤:無效的對象名稱'dbo.TableName'
- 24. 實體框架無效的對象名稱錯誤
- 25. 實體框架4.1無效的對象名稱'我'
- 26. 實體框架4.1無效的對象名稱
- 27. 實體框架鍵列表
- 28. 當在實體框架中使用savechanges()時,無效的列名稱
- 29. 爲什麼實體框架實體集的名稱是「it」?
- 30. 實體框架代碼優先 - 無效的列名鑑別
如果你使用C#,也許這可以幫助http://stackoverflow.com/questions/950616/what-characters-are-allowed-in-c-sharp-class-name – SteveW 2013-03-27 18:55:09