C#dbml文件来自哪里?

时间:2010-03-22 21:02:57

标签: c# linq linq-to-sql

我目前正在学习C#和LINQ。我对他们有很多疑问。基本上,我需要一步一步的教程。

  1. 我认为dbml文件是数据库的配置文件。如果我双击dbml文件,VS将在设计图中打开它。我可以在这里创建/删除/修改表格吗?我可以使用add new item添加LINQ to SQL Classes来获取dbml文件吗?

  2. 下一步是什么?在数据库中生成表?生成SQL脚本?生成cs文件?什么时候?怎么样?

5 个答案:

答案 0 :(得分:28)

DBML文件根本与数据库服务器无关。这完全是客户端的事情。它本质上是一组有关数据库中表的信息,以及如何将它们映射到.NET对象。

当然,您可以从数据库中拖动表并让Visual Studio自动为您推断出一些信息,但更改文件不会影响数据库。您可以从头开始创建DBML文件,而无需任何数据库。

在内部,DBML文件只是一个XML文件,由Visual Studio提供给自定义工具,并从中生成表示数据库LINQ对象模型的.cs文件。

答案 1 :(得分:4)

DBML文件是基于数据库模式定义类的映射。是的,它定义了您的(默认)连接字符串,但它根本不“配置”您的数据库。

Linq to Sql使用数据库优先方法,您可以在数据库模式之后拥有数据库并为类建模。通过拖动和将表放到那里,您将自动创建类,因此您不必键入它们。您可以从那里更改属性名称等,并且属性与其正确的数据库列名称之间的映射将保持不变。

答案 2 :(得分:2)

是的,在将Linq添加到SQL类时会创建DBML文件。在设计器中(双击DBML文件时看到的内容),您可以将表(从服务器资源管理器)拖到它上面。然后,您可以在代码中引用这些表。那里有不止一些入门教程:

查看此问题以获取详细信息:

https://stackoverflow.com/questions/481244/can-anyone-recommend-a-good-tutorial-for-learning-linq2sql

答案 3 :(得分:2)

答案 4 :(得分:1)

此链接了解如何在您的项目中创建dbml文件:

http://dotnetlearners.com/linq/linq-to-sql-creating-dbml-file

将LINQ实施为SQL首先,我们必须创建DBML文件,该DBML文件包含C#源代码,这使我们能够将LINQ查询编写为SQL。这是生成dbml文件的分步过程。

右键单击项目(或项目文件夹),然后选择选项“添加新项”。

添加新项目 enter image description here 选择“ LINQ to SQL类模板”,然后将名称命名为MyDB.dbml。

enter image description here linq-to-sql-classess

显示以下确认时,单击“是”。 enter image description here

对话

MyDB.dbml文件将添加到App_Code文件夹下。 enter image description here

dbml

展开Server Explorer,然后右键单击“数据连接”,然后选择“添加连接”选项。

enter image description here 添加连接

添加连接将弹出,提供SQL Server详细信息并选择,然后单击确定按钮。

服务器详细信息

数据库将添加到“数据连接”下,如下所示。

server-explorer

在左窗格中拖动表格,如果存在主键和外键关系,则它将自动显示,如下所示。 enter image description here

拖动表

将存储过程拖到右窗格。

拖动存储过程

相关的C#代码将自动生成,我们可以通过打开文件MyDB.designer.cs来查看。

dbml-designer-cs