1

我有我的数据库(称为“Starship”),并使用设计器生成 LinqToSql 实体类和数据上下文。作为输出,我得到了Starship.dbml包含 2 个子文件的文件:

  1. Starship.dbml.layout
  2. Starship.designer.cs

问题是我发现设计器在这个单个文件中生成了我的实体类和数据上下文Starship.designer.cs

[global::System.Data.Linq.Mapping.DatabaseAttribute(Name="Starship")]
public partial class StarshipDataContext : System.Data.Linq.DataContext

[global::System.Data.Linq.Mapping.TableAttribute(Name="dbo.Roles")]
public partial class Role : INotifyPropertyChanging, INotifyPropertyChanged

[global::System.Data.Linq.Mapping.TableAttribute(Name="dbo.Sections")]
public partial class Section : INotifyPropertyChanging, INotifyPropertyChanged

[global::System.Data.Linq.Mapping.TableAttribute(Name="dbo.CrewMembers")]
public partial class CrewMember : INotifyPropertyChanging, INotifyPropertyChanged

好吧,我一直认为为单个类保留单个文件是一种好习惯,那么为什么这些类在同一个文件中呢?我猜如果数据库由大约 20 个表组成,这将是一个巨大的文件。有没有办法在单独的文件中生成它们?

4

2 回答 2

1

当您需要阅读和更新此类代码时,单个类的单个文件是一种很好的做法。对于生成的代码,这并不重要。通常,您不应查看此文件,而应查看模型布局。另一方面,在单个文件中生成它比在许多文件中更简单。

于 2013-08-31T18:06:06.903 回答
1

据我所知,VS 中没有选项可以告诉 ORM-Designer 在单独的文件中生成类。将它们全部放在一个文件中更容易。您可以手动将类提取到文件中,并且仍然可以正常使用它们。

于 2013-08-31T18:07:19.860 回答