我目前正在学习C#和LINQ。我对他们有很多疑问。基本上,我需要一步一步的教程。
我认为dbml
文件是数据库的配置文件。如果我双击dbml
文件,VS将在设计图中打开它。我可以在这里创建/删除/修改表格吗?我可以使用add new item
添加LINQ to SQL Classes
来获取dbml
文件吗?
下一步是什么?在数据库中生成表?生成SQL脚本?生成cs文件?什么时候?怎么样?
答案 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文件时看到的内容),您可以将表(从服务器资源管理器)拖到它上面。然后,您可以在代码中引用这些表。那里有不止一些入门教程:
查看此问题以获取详细信息:
答案 3 :(得分:2)
答案 4 :(得分:1)
此链接了解如何在您的项目中创建dbml文件:
http://dotnetlearners.com/linq/linq-to-sql-creating-dbml-file
将LINQ实施为SQL首先,我们必须创建DBML文件,该DBML文件包含C#源代码,这使我们能够将LINQ查询编写为SQL。这是生成dbml文件的分步过程。
右键单击项目(或项目文件夹),然后选择选项“添加新项”。
添加新项目 选择“ LINQ to SQL类模板”,然后将名称命名为MyDB.dbml。
对话
dbml
展开Server Explorer,然后右键单击“数据连接”,然后选择“添加连接”选项。
添加连接将弹出,提供SQL Server详细信息并选择,然后单击确定按钮。
服务器详细信息
数据库将添加到“数据连接”下,如下所示。
server-explorer
在左窗格中拖动表格,如果存在主键和外键关系,则它将自动显示,如下所示。
拖动表
将存储过程拖到右窗格。
拖动存储过程
相关的C#代码将自动生成,我们可以通过打开文件MyDB.designer.cs来查看。
dbml-designer-cs