65.9K
CodeProject 正在变化。 阅读更多。
Home

LINQ 代码生成器

starIconstarIcon
emptyStarIcon
starIcon
emptyStarIconemptyStarIcon

2.12/5 (15投票s)

2007 年 12 月 31 日

CPOL

4分钟阅读

viewsIcon

36474

downloadIcon

875

只需提供必要的输入即可生成基本的 LINQ 代码

引言

LINQ 代码生成器是一个简单的应用程序,它通过获取一些输入来生成基于 SQL 的 LINQ 代码。 由于 LINQ 对许多开发人员来说是新的,因此这个基本的生成器用于在几分钟内生成和测试基本的基于 SQL 的 LINQ 代码。

背景

当我开始使用 LINQ 时,我得出一个非常坚定的结论:LINQ 具有美好的未来。但是发现它仍然需要微软进行更多更改。

使用代码

这个代码的使用非常简单。我们这里有一个名为 LINQ 的类别,它有一个子类别 LINQ with SQL。在该子类别下,我们有插入、更新、删除、选择。选择任何选项都会回发页面,并给出一些文本框来获取一些输入。只需输入所需的输入,现在点击生成代码按钮,就会生成代码。复制代码并将其粘贴到您的应用程序中。有了这个生成器,像注册表单等表单可以简单地在几分钟内完成。我们也可以在网格中显示结果。我们可以根据条件等显示结果。为了不偏离初学者的信心水平,我尝试使用最少的选项来开发这个生成器,并为将来留下更多选项。

要修复的基本错误是在运行 beta 版之前将 web.config 中的版本从 2.0 更改为 3.5。

			
						
				"System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
				"System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
				"System.Data.DataSetExtensions, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
				"System.Xml.Linq, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
				"System.Data.Linq, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
					
		

我使用 MS Access 数据库来开发代码。 生成的最终代码需要一个 dbml 文件。 如何创建 dbml 文件:创建一个 sql 数据库并在其中创建表。 现在添加一个新项目,dbml 文件和一个新的 datacontext,打开 dbml 文件的设计视图,现在将您的 sql 数据库表拖放到 dbml 设计区域,在其中创建关系和所有内容是用户友好的。 生成的代码需要一个位于其默认路径中的 dbml 文件。

我使用 vb 代码来生成 LINQ 代码。 需求被添加到数据库表中,并在获取输入以生成代码时检索

关注点

使用 VS2008 beta 让我疯狂了近 7-10 天。 我不知道为什么我最初在很多方面都感到疯狂。 我不知道我应该将这些问题称为错误还是建议,但它们真的让我觉得“微软出了一些问题”。 我发现了一些漂亮的(我不知道是否应该称为错误)可以提出的建议

  • 最初我开始开发应用程序并运行它。 太棒了,版本错误。 在 web.config 中,版本号不会自动更改。 我打开 web.config 并将版本号更改为 3.5。 有多少开发人员会尝试这样做?
  • 我在重命名文件时遇到一些问题。 与其相关的所有父文件和子文件都不会立即根据重命名的文件进行调整。
  • 一个很大的主键问题。 情况是这样的:我开发了一些数据库,在其中创建了一个表,我将第一个字段作为主键。 我正在应用程序上玩它……。 现在,我将表中的主键更改为除第一个字段之外的其他内容。 现在出现的问题是,即使我知道数据仅来自数据集而不是再次来自表……,这也应该在更改为数据库后立即反映到数据集。
  • 数据上下文位置问题。 如果 dataconxt 的路径已更改,则会出现智能感知问题。
  • 我在使用 formview 等控件插入/编辑到 msaccess 数据库时发现了一些问题。
  • 如果我使用一些用户控件,并且我想从设计部分删除它,则一些用户控件代码仍保留在代码中。
  • 我不明白为什么微软会让应用程序的权重越来越重……对于不是很高配置的系统用户来说,应用程序加载等速度非常慢
  • 在更多位置(例如双引号之间)需要智能感知(一点也不开玩笑)。 代码隐藏中的智能感知部分比设计部分更多。
  • 还需要向后智能感知,例如 response.write,现在如果我们写成 write,那么我们应该得到对它的响应。 这不是在开玩笑,我是在在智能感知的不同角度工作后才说这句话的。
  • 最主要的是,微软应该使应用程序更流畅、更轻巧、更快。

    历史

    即使这个代码开发人员是一个简单的智能应用程序,用于建立信心。 我遇到了所有 Linq 应用程序,并发现了使用 LINQ 的优势。

  • © . All rights reserved.