1. Trabajo de preparación, necesitamos instalar algunas cosas y copiar algunas cosas.
0. Abra VS2008 o VS2010, cree un nuevo proyecto de consola de ingeniería LinqMySQL y el ensamblado de destino es .NET 3.5
1. Descargue e instale MySQL hasta SIGUIENTE
2. Descargue e instale MySQLWorkBench hasta SIGUIENTE, ábralo y cree la base de datos de prueba, las tablas Clientes y Pedidos.
-------------------------------------------------- ---
crear tabla Clientes
(
CustomerID varchar(50) clave primaria no nula,
Nombre del contrato varchar(50) no nulo,
Teléfono varchar(50) no nulo,
Ciudad varchar(50) no nula,
País varchar(50) no nulo
)
crear tabla de pedidos
(
OrderID int clave primaria no nula,
Fecha del pedido Fecha Hora,
CustomerId varchar(50) no nulo,
referencias de clave externa (ID de cliente) Clientes (ID de cliente)
)
-------------------------------------------------- ---
3. Descargue y SIGUIENTE instale MySQL .NET Connector 6.3.2
4. Descargue y descomprima DbLinq y establezca la ruta a la variable de entorno del sistema.
5. Cree una nueva carpeta LinqDlls en el directorio LinqMySql.
Abra la carpeta C:Program FilesReference AssembliesMicrosoftFrameworkv3.5
Copie los siguientes Dlls a la carpeta LinqDlls
-------------------------------------------------- ---
System.Core.dll
System.Data.DataSetExtensions.dll
System.Data.Linq.dll
System.Runtime.Serialization.dll
System.xml.Linq.dll
-------------------------------------------------- ---
6. Vaya al directorio MySQLMySQL Connector Net 6.3.2Assembliesv2.0 y copie
-------------------------------------------------- ---
MySql.Data.dll
-------------------------------------------------- ---
Vaya al directorio de instalación de DbLinq
2. Empecemos a trabajar, hagámoslo paso a paso.
1. Abra CMD, CD en el directorio DbLinq y use DbMetal.exe para crear MySQL DataContext. El comando es el siguiente:
-------------------------------------------------- ---
DbMetal.exe
-proveedor=MySql
-base de datos:Mibase de datos
-servidor:localhost
-usuario: usuario mysql
-contraseña:tucontraseña
-espacio de nombres: LinqMySql
-código:TestDataContext.cs
-sprocs
-------------------------------------------------- ---
Corte el TestDataContext.cs generado en el directorio raíz del proyecto LinqMySql y agréguelo al proyecto LinqMySql.
2. Agregue el siguiente código en la función principal.
-------------------------------------------------- ---
cadena connStr = @"servidor=localhost;base de datos=prueba;usuario=mysqluser;pwd=sucontraseña;";
usando (var conn = new MySqlConnection(connStr)){ var t = new Test(conn data = del cliente en t.Clientes seleccione cliente.ContractName foreach (var d en datos) { Console.WriteLine(d); }}------------------------------------------------ -----3. Compile y ejecute correctamente.
4. A continuación, debemos degradar .NET 3.5 a .NET2.0. Primero, cambie el ensamblaje de destino del proyecto a .NET2.0.
Luego encontrará que varios archivos DLL en la Referencia se convierten en signos de exclamación, elimínelos todos y luego cambie los archivos DLL en la carpeta LinqDlls.
Agregue varios archivos Dll a Referencia y luego configure la copia local en Verdadero y Especifique la versión en Falso en las propiedades de estos archivos DLL.
5. ¡Compile nuevamente y será exitoso!
3. ¿Qué pasa con otras historias? Intentando usar LinqDataSet bajo .NET2.0 y la base de datos usa MySQL
1. Reinicie VS para que VS cargue el conector MySQL que acaba de agregar.
2. Abra el Explorador de servidores, haga clic con el botón derecho en Conexión de datos, agregue un nuevo enlace y cambie el conector de datos.
Seleccione MySql Connector, ingrese la dirección del servidor, el nombre de usuario y la contraseña necesarios hasta SIGUIENTE y pruebe si la conexión es exitosa.
3. Cambie el ensamblaje de destino de LinqMySql a .NET3.5, haga clic con el botón derecho en el proyecto y agregue un conjunto de datos fuertemente tipado.
Agregue las tablas Clientes y Pedidos en la base de datos de prueba Mysql en Server Explorer al DataSet.
4. Escriba el código de prueba en la función principal.
-------------------------------------------------- ---
usando (var dataSet = new DataSet1()){ var customerAdapter = new DataSet1TableAdapters.CustomersTableAdapter(); var orderAdapter = new DataSet1TableAdapters.OrdersTableAdapter(); consulta = de orden en conjunto de datos.Orders donde orden.OrderDate.Date > new DateTime(2010, 8, 1) seleccione new { order.OrderID, order.CustomerID }; foreach (var orden en consulta) { Console.WriteLine(order. ID de cliente); }}--------------------------------------------- --- --------5. Compile y ejecute, ¡éxito!
6. Espera, ahora solo es .NET3.5, ¿cómo cambiar a .NET2.0?
Intente cambiar directamente el ensamblado de destino a .NET2.0, compílelo y falle.
7.TMD revisó DataSet1.designer.cs y encontró el siguiente código en .NET3.5
-------------------------------------------------- ---clientes de clase parcial públicaDataTable: global::System.Data.TypedTableBase<customersRow>------------------------------- --- -------------------- Ahora se ha convertido
-------------------------------------------------- ---
clientes de clase parcial públicaDataTable: global::System.Data.DataTable, global::System.Collections.IEnumerable----------------------- ----------------------------8.¿Entonces? ¿Qué hacer? Restablezca el ensamblado de destino a .NET3.5 y luego vaya al directorio LinqMySql para
-------------------------------------------------- ---
Conjunto de datos1.Designer.cs
Conjunto de datos1.xsc
Conjunto de datos1.xsd
Conjunto de datos1.xss
-------------------------------------------------- ----
Copie algunos archivos para hacer una copia de seguridad y luego configure el ensamblado de destino en .NET2.0 nuevamente y luego. .
Luego copie los archivos anteriores de los que acaba de hacer una copia de seguridad en el directorio del proyecto, compílelos y ejecútelos nuevamente, ¡éxito!
9. En este punto, hemos utilizado con éxito LinqSQL y LinqDataSet para usar MySql en .NET2.0, pero
No he utilizado LinqEntity con éxito para usar MySql en .NET2.0. Hablemos de ello más tarde.