On Fri, 2010-02-12 at 10:53 -0800, Chip wrote:
> The DbMetal.Schema.DbmlRename method needs to be public to be able to
> read in a serialized DBML renaming file.
>
> The code at line 38 of DbmlRenameLoader.cs attemps to create a new
> XmlSerializer of type DbmlRename. This always is failing in
> VisualStudio with an exception because DbmlRename is private.
>
> Changing DbmlRename to public. The Code for the TableAlias class
> places a !MONO_STRICT preprocessor check before it;s declaration.
>
> #if !MONO_STRICT
> public
> #endif
Sadly, that's only a temporary fix.
The real problem is that XML Serialization is evil and to be avoided.
XML Serialization requires that members be public; if members aren't
public, you can't deserialize, e.g. under Mono:
http://code.google.com/p/dblinq2007/issues/detail?id=193
and the members can't be public under Mono (as we don't want to expose
types+members under Mono that aren't exposed under .NET's
System.Data.Linq.dll assembly).
Which is "lots" of fun for Mono's sqlmetal users (all 1 of them).
The fix is to rip out XML Serialization and use e.g. XLinq instead.
- Jon
--
You received this message because you are subscribed to the Google Groups
"DbLinq" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/dblinq?hl=en.