2014-02-24 64 views
2

添加额外的专栏中,我有表名为Customer与需要处理

CustomerID 
Name 
Salary etc. 

我已经加入Customer表对象DBML,现在我需要添加IsProcessed列Customer表列的顶部。

我已经加入,但它抛出异常,同时获取数据为“无效列IsProcessed”

我是否需要创建单独的POCO对象,并添加额外的列 与POCO对象从数据库列表中选择新名单后来补。

任何替代解决方案?请指教

+2

一个简单的解决办法是删除DBML该表,并拖动,再放下。 –

+0

您必须删除表并重新添加到dbml文件 – Damith

+0

我不想刷新表,因为表没有IsProcessed列。我想将此额外列添加到dbml中的Customer对象。新列仅用于通过代码处理客户对象。 –

回答

0

在新的类文件上面

public partial class Customer 
{ 
    public bool IsProcessed { get; set; } 
} 

放码并设置它的命名空间与您的DBML生成Customer类:您可以在新文件中创建部分类扩展从DBML生成的类。

这是常见的模式,能够扩展生成的类,而不必担心如果重新生成DBML文件的扩展代码覆盖。

[For Reference]

0

如果模型出去与数据库同步并保存EDMX文件并运行“从数据库更新模型...”功能不能正常工作,然后再考虑这个链接

http://blog.jongallant.com/2012/08/entity-framework-manual-update.html#.Uwrul_mSzkA

+0

我不想刷新表格,因为表格没有IsProcessed列。我想将这个额外的列添加到dbml中的Customer对象。新列仅用于通过代码处理客户对象。 –

+0

您可能需要扩展您的模型与部分类然后,请参阅此链接http://stackoverflow.com/questions/10281897/entity-framework-4-using-edmx-how-to-add-a-field-into -to-模型是-DB-确实-N – StackTrace

0
public class CustomerData 
{ 
    public int CustomerID { get; set; } 
    public string Name { get; set; } 
    public double Salary { get; set; } 
    public bool IsProcessed { get; set; } 
} 

LINQ查询:

List<CustomerData> GetData() 
{ 
    var data = from cus in context.Customer 
      select new CustomerData{ 
       CustomerID = cus.CustomerID, 
       Name = cus.Name, 
       Salary = cus.Salary 
       IsProcessed = Your custom field data 
      }; 
    return data.ToList(); 
}