linq - Linq to sql作为对象数据源-部分类的设计器问题

标签 linq visual-studio-2008 linq-to-sql windows-forms-designer

我在Visual Studio 2008(DataClasses1.dbml)中创建了一个简单的LINQ to Sql类项目。我在那里看到三个文件:“。layout”文件,“。cs”文件和“ .designer.cs”文件。

接下来,我已将DataGridView添加到Windows窗体,并从LINQ To SQL文件中的一个表中选择了一个新的对象数据源。到目前为止,一切正常。

当我想向自动生成的实体类之一添加新属性时,问题就开始了。所有类都声明为“部分”,因此从理论上讲,我应该可以使用新属性将代码写入“ DataClasses1.cs”文件。当我这样做时,我可以在代码中看到新属性(Intellisense可以工作),但设计人员无法识别它(例如,当我在datagridview中选择列时,它不会出现在可用字段列表中)。但是,当我将新属性移到“ DataClasses1.designer.cs”文件时,一切正常。我不想将代码放置在设计器文件中,因为它是自动生成的,并且可以自动覆盖。

如何使Windows Forms设计器识别添加到与designer.cs不同的文件中的属性?

提前致谢

最佳答案

在dbml上单击鼠标右键,然后选择“查看代码(F7)”。这将在同一“组”中创建一个代码文件DataClasses1.cs(如果尚不存在)。该文件包含部分类,并且永远不会自动生成。您可以在此处放置代码。

关于linq - Linq to sql作为对象数据源-部分类的设计器问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5675836/

相关文章:

c# - ASP.NET MVC - 模型接口(interface)

asp.net-mvc - 使用ASP.NET MVC时,如何有效地使用Visual Studio中的 "Add view"对话框?

sql - 具有 LINQ 支持的最完整的 ORM?

linq-to-sql - LINQ to SQL 用于排序和分页的扩展方法

c# - 为什么 .Except() 和 Intersect() 不能使用 LINQ 在这里工作?

c# - 如何在不删除所有现有记录的情况下使用 LINQ-to-SQL 更新表?

c# - C# 中的 LINQ SequenceEquals 扩展问题

c++ - 如何创建一个包含全局变量的 lib 文件,这些全局变量应该将它的信息共享给另一个项目

c# - 保持 LinqToSQL 与数据库同步

c# - sql查询中的最大参数个数