如何序列化.NET表适配器

如何序列化.NET表适配器,.net,serialization,tableadapter,.net,Serialization,Tableadapter,我需要序列化.NET表适配器。序列化数据适配器和数据集不是问题,但我似乎无法序列化表适配器。查看类型它通常特定于您所命名的任何东西..就像我创建发票表适配器..类型将是InvoiceTableAdapter,其基本类型是component。这并没有给我一个简单的工作类型,比如sql数据适配器,它的序列化相对简单。此外,我需要能够序列化它并反序列化它,而不必包括它在反序列化时来自的dll。反序列化时,上唯一可用的DLL将是标准的.NET DLL 此外,我需要能够序列化它并反序列化它,而不必包括它在

我需要序列化.NET表适配器。序列化数据适配器和数据集不是问题,但我似乎无法序列化表适配器。查看类型它通常特定于您所命名的任何东西..就像我创建发票表适配器..类型将是InvoiceTableAdapter,其基本类型是component。这并没有给我一个简单的工作类型,比如sql数据适配器,它的序列化相对简单。此外,我需要能够序列化它并反序列化它,而不必包括它在反序列化时来自的dll。反序列化时,上唯一可用的DLL将是标准的.NET DLL

此外,我需要能够序列化它并反序列化它,而不必包括它在反序列化时来自的dll

如果您使用的是
BinaryFormatter
(顺便说一句,我不建议这样做),那么否:您不能这样做。这不是
BinaryFormatter
的工作方式。它希望完全重新创建序列化的内容,这需要相同的DLL

如果您使用的是任何其他序列化程序,那么它的意义可能会更小;你应该序列化*数据,真的。不是像适配器那样的管道细节


说真的,我认为你需要重新考虑你的设计。例如,为什么要尝试序列化适配器?那意味着什么?例如,编写一个DTO来表示构造一个普通的
SqlDataAdapter

所需的数据可能是有意义的。您最多有4个Sql字符串,其余的不值得保存。@Henk确实,我一直不明白为什么它们会被创建为类型。@马克:生成的版本是“强类型”的,但这对OP不起作用。如果可以的话,我会的。这是第三方供应商的报告布局文件的问题。如果我不知道如何序列化和反序列化报表布局,我将无法使用DLL,这些DLL将存储在数据库中并由windows服务请求。将布局存储为dll是一种浪费,每次布局发生变化时都要编译布局……出于许多原因,这使得实际管理变得很困难。如果我可以将布局存储为一个独立的xml文件,并将其放入数据库中,那就更好了。报表供应商提供了一种自定义的报表对象序列化/反序列化方法。我唯一无法成功序列化/反序列化报表布局的部分是表适配器。通常情况下,我会同意您关于序列化表适配器的意见,但在这种情况下,这是必要的,这样我就可以不用使用dll了……这是一种报告布局……它实际上不需要是dll;)@leifre完全正确-那么不能使用设置了几个属性的SqlDataAdapter吗?它真的必须是OrderDataAdapter(或其他什么)吗?我将尝试序列化数据适配器,看看是否只需要这样做,稍后再报告。我确实找到了序列化表适配器的方法。我基本上创建了一个dataadapter并将其放入表适配器中,它就可以工作了。基本上,我自定义序列化命令文本、命令类型和参数。数据集可以自动序列化。我存储所有这些信息,然后使用这些反序列化信息创建一个新的数据适配器。很抱歉我的回复延迟…我忘记更新:)