C#dbml文件来自哪里?
我目前正在学习C#和LINQ。 我对他们有很多疑问。 基本上,我需要一步一步的教程。
-
我想
dbml
文件是数据库的配置文件。 如果我双击dbml
文件,VS将在设计图中打开它。 我可以在这里创建/删除/修改表格吗? 我可以使用add new item
来添加LINQ to SQL Classes
来获取dbml
文件? -
下一步是什么? 在数据库中生成表? 生成SQL脚本? 生成cs文件? 什么时候? 怎么样?
DBML文件根本与数据库服务器无关。 这是一个完全客户端的事情。 它本质上是一组有关数据库中表的信息,以及如何将它们映射到.NET对象。
当然,您可以从数据库中拖动表并让Visual Studio自动为您推断出一些信息,但更改文件不会影响数据库。 您可以从头开始创建DBML文件,而无需任何数据库。
在内部,DBML文件只是一个XML文件,由Visual Studio提供给自定义工具,并从中生成表示数据库的LINQ对象模型的.cs
文件。
DBML文件是基于数据库模式定义类的映射。 是的,它定义了您的(默认)连接字符串,但它根本不“配置”您的数据库。
Linq to Sql使用数据库优先方法,您可以在数据库模式之后拥有数据库并为类建模。 通过将表拖放到那里,您将自动创建类,因此您不必键入它们。 您可以从那里更改属性名称等,并且属性与其正确的数据库列名称之间的映射将保持不变。
是的,在将Linq添加到SQL类时会创建DBML文件。 在设计器中(双击DBML文件时看到的内容),您可以将表(从服务器资源管理器)拖到它上面。 然后,您可以在代码中引用这些表。 有很多入门教程:
查看此SO问题了解详情:
演练:简单对象模型和查询(C#)
考虑SqlMetal
PK 🙂