如何在属性上使用Pascal Case表示法生成所有Entity Framework类?

Att*_*lah 5 c# entity-framework

我有一个Oracle数据库,其中包含以下列方式命名的列:CREATED_BY,EMPLOYEE_FIRST_NAME,

生成我的Entity Framework类时,我希望列的关联属性如下所示:CreatedBy,EmployeeFirstName等...

有没有办法做到这一点,而无需手动编辑每个属性?

Paw*_*wel 2

它实际上可能根本与 C# 代码无关。如果您使用 Oracle,那么我假设它是 ModelFirst 或 DatabaseFirst 方法。在这种情况下,代码是基于 CSDL 生成的。如果转换属性名称,内容将会中断,因为 EF 将无法找到与 CSDL 中的属性名称相对应的类型和属性。除此之外,一旦重新生成代码(例如,保存模型),您将丢失所有更改。您需要做的是相应地更改 CSDL(EDMX 的概念部分)和 MSL(EDMX 的映射部分)中的属性名称。所以您实际上正在研究处理 Xml。我认为如果您熟悉这些技术,使用 Xslt 或 Linq to Xml 可以相对轻松地完成这些工作。如果您正确执行此操作,代码生成器/T4 模板应使用您提供的名称生成代码。或者,您可以在 EF 设计器中手动更改名称,但这将是一项繁重的工作。