2008-11-15 62 views
5

在Visual Studio 2005/2008中使用强类型数据集时,如果基础数据库模式发生更改,则唯一可行的刷新方法是删除数据集并从头开始重新创建。这很好,除非我需要自定义数据集。使用Visual Studio Typed DataSets的提示?

通过扩展部分数据集类自定义允许保留自定义,但是然后简单的FillBy()再次成为SQL的一个长序列。

是否有任何方法可以在不丢失数据集自定义的情况下重新同步数据集与数据库模式?

回答

2

如果你只是做一个简单的改变,像添加一个字段到表中,然后我右键单击表并单击配置。再次通过向导添加新的字段(甚至用select *替换select),并将该字段添加到表中,并同步所有您构建的查询。我有大约10个不同的自定义查询表,当我重新配置表时,查询全部正确更新。

2

因为类型化数据集使用生成的嵌套类,所以自定义通常会丢失。我所做的是生成类型化数据集,然后将几个类标记为部分。然后我创建包含重复的嵌套类结构(也标记为部分)的单独文件。

这样我就可以重新生成我的数据集,我必须做的唯一更新就是返回并使它们重新部分化。我的自定义保存在单独的文件中。

0

类型化数据集是邪恶的。 LINQ to SQL是什么类型的数据集应该是,所以我喜欢它认为是Typed Datasets 3.0。我希望当他们将L2S折叠到实体框架时,他们保留了使L2S如此优秀的东西。

+0

“类型化数据集是邪恶的”并没有多少告诉我们。你不喜欢他们什么? – 2008-11-17 22:03:53

0

我一直在一些web和windows项目中使用类型化的数据集非常成功。 开始时有一些发现 - 学习数据集设计器的所有怪癖,以及如何扩展数据集以提供更灵活的连接配置。 但是一旦你过去了,生成一个数据访问层将是快速的工作。