2013-04-22 59 views
4

我正在C#/ ASP.NET MVC 4/EF5中开发项目。现有的数据库在列名中包含空格,这是我从未遇到的,没有权限更改,也不知道如何解决。MVC 4-EF Model w/Spaces

我已经尝试了很多东西来获取要读取的列名,包括下面,但无法弄清楚。下面是代码的简化版本,这是我试过,但没有工作(如果需要的话,我很乐意提供更多的代码):

using System; 
using System.ComponentModel.DataAnnotations; 
using System.Web.Mvc; 
using System.Data.Linq.Mapping; 

namespace Domain.Entities 
{ 
    public class TheTable 
    { 
     public int id { get; set; } 

     [Column(Name="The Column Name")] 
     public int TheColumnName { get; set; } 
    } 
} 

我总是得到这样的结果:

列名'TheColumnName'无效。

顺便说一句,我可以成功连接到所有没有空格的列。谢谢你的帮助!

+0

我猜你不能解决这个得到。我从来没有在列名中使用带空格的数据库。 – 2013-04-22 04:10:59

+0

这是略有不同,但也许值得一试:http://stackoverflow.com/questions/10077865/how-to-create-complex-datatype-for-column-with-spaces-in-the-name/10080489# 10080489 – TGH 2013-04-22 04:22:46

+0

您是否尝试过流利的配置来使用它? – 2013-04-22 04:28:31

回答

3

感谢基里尔,这里是为未来有这个问题的人的答案:

modelBuilder.Entity<TheTable>().Property(p => p.TheColumnName).HasColumnName("The Column Name");