我是Linq和Visual Web开发人员2008 Express的新手。我在这里看过一些帖子和Scott Guthrie关于设置Linq的帖子,但我有点卡住了,因为这些课程并不像我想的那样自动生成。我已经设置了一个数据库,其中包含一个简单的表(主键为ID,并设置为自动递增)以及其他一些列,并将其拖放到DBML Linq设计器窗格中。该表出现在窗口中,但不会自动生成类。当我右键单击表格并选择“查看代码”时,会显示DataClasses.cs
,但我只看到没有方法或属性的部分类。
Linq不应该这样做,还是我(很可能)完全错过了这一点?或者Visual Web Developer 2008 Express中没有此功能?
答案 0 :(得分:1)
不,你没有遗漏任何东西。这正是它应该如何运作的。转到解决方案资源管理器,展开dbml,然后双击whatever.designer.cs。在底部,你会看到......
[Table(Name="dbo.YourTable")]
public partial class YourTable: INotifyPropertyChanging, INotifyPropertyChanged
{
private static PropertyChangingEventArgs emptyChangingEventArgs = new PropertyChangingEventArgs(String.Empty);
...以及所有属性。
答案 1 :(得分:1)
正如其他回答者已经指出的那样,你确实将代码生成 - 放入一个(modelname).designer.cs文件中。
这可能是也可能不是你所期望和想要的 - 如果你能忍受它 - 完美!
如果没有,那里至少有一组名为PLINQO的代码生成模板基于CodeSmith,这是众所周知的代码生成器。这些模板允许您执行标准Linq-to-SQL不支持的许多事情:
总而言之,处理Linq-to-SQL代码生成是一个非常巧妙的解决方案。优秀的东西 - 推荐!
马克
答案 2 :(得分:0)
如上所述,LINQ-To-SQL实际上不会为您生成单独的类文件 - 如果您去编写一些引用其中一个表的类的代码,您会发现它就在那里......