[Mono-list] Multiple issues with sqlmetal and MySql
st0p
frankdeweger at hotmail.com
Thu Nov 4 14:12:31 EDT 2010
I've been trying for a couple of days now to use LINQ and MySql under Mono /
Win7. After finding out that I needed to change sqlmetal.exe.config, finally
the sqlmetal produced some code. It compiles fine but gives me multiple
issues:
1) I need to manually change the code, if I leave AutoSync=AutoSync.Never on
the PK column, it will trigger an exception. Changing it to
AutoSync.OnInsert works though.
2) When I create an instance of the generated DataContext, using a MySql
connection object, I´m getting the following generated sql:
SELECT [t0].[Email], [t0].[Id] AS [ID], [t0].[Password]
FROM [rss].[user] AS [t0]
-- Context: SqlProvider(Sql2008) Model: AttributedMetaModel Build:
3.5.30729.4926
As you can see, the provider seems to be MSSql instead of MySql
This triggers the following exeption:
MySql.Data.MySqlClient.MySqlException: You have an error in your SQL syntax;
check the manual that corresponds to your MySQL server version for the
right syntax to use near '[t0].[Email], [t0].[Id] AS [ID], [t0].[Password]
FROM [rss].[user] AS [t0]' at line 1
at MySql.Data.MySqlClient.MySqlStream.ReadPacket()
at MySql.Data.MySqlClient.NativeDriver.GetResult(Int32& affectedRow,
Int32& insertedId)
at MySql.Data.MySqlClient.Driver.GetResult(Int32 statementId, Int32&
affectedRows, Int32& insertedId)
at MySql.Data.MySqlClient.Driver.NextResult(Int32 statementId)
at MySql.Data.MySqlClient.MySqlDataReader.NextResult()
at MySql.Data.MySqlClient.MySqlCommand.ExecuteReader(CommandBehavior
behavior)
at
MySql.Data.MySqlClient.MySqlCommand.ExecuteDbDataReader(CommandBehavior
behavior)
at System.Data.Common.DbCommand.ExecuteReader()
at System.Data.Linq.SqlClient.SqlProvider.Execute(Expression query,
QueryInfo queryInfo, IObjectReaderFactory factory, Object[] parentArgs,
Object[]
userArgs, ICompiledSubQuery[] subQueries, Object lastResult)
at System.Data.Linq.SqlClient.SqlProvider.ExecuteAll(Expression query,
QueryInfo[] queryInfos, IObjectReaderFactory factory, Object[]
userArguments,
ICompiledSubQuery[] subQueries)
at
System.Data.Linq.SqlClient.SqlProvider.System.Data.Linq.Provider.IProvider.Execute(Expression
query)
at
System.Data.Linq.DataQuery`1.System.Collections.Generic.IEnumerable<T>.GetEnumerator()
at Reader.MainClass.Main(String[] args) in
c:\Users\frank\Documents\Projects\Reader\Reader\Main.cs:line 58
When I try to instantiate the context class using a connection string, it
also tries to connect to a MsSql server and thus times out.
Does anybody know what I´m doing wrong=
--
View this message in context: http://mono.1490590.n4.nabble.com/Multiple-issues-with-sqlmetal-and-MySql-tp3027505p3027505.html
Sent from the Mono - General mailing list archive at Nabble.com.
More information about the Mono-list
mailing list