2012-09-28 9 views
6

En realidad antes de no usar framework o linq, simplemente escribe en la declaración sql con clase Sqlcommand, escribo insert into table values(N'sample') en realidad no sé qué es N, pero funciona para chino y otro Idioma, de lo contrario, insertará un signo de interrogación.EntityFramework actualiza o inserta texto en chino o no en inglés

Pero cuando uso EntityFramework, este tipo de marco siempre inserta algunos signos de interrogación, ¿puedo preguntar cómo abordar el problema?

N significa Unicode? ¿Puede darme un ejemplo de que EntityFramework utiliza ese tipo de cosas?

+0

Sí, usted puede preguntar ... :) – gdoron

+0

Por cierto, probé EF con hebreo en que funciona muy bien. Incluye chino en el Unicode? – gdoron

+1

Puede depender de cómo se ve la base de datos. Si está usando SQL Server, ¿sus columnas son nvarchar o nchar? En EF, la propiedad de cadena necesita tener Unicode establecido en verdadero. ¿Estás usando CodeFirst o Database/Model primero? – Pawel

Respuesta

0

Asegúrese de tener instalados los paquetes de idioma en el servidor que contiene sqlserver para chino.

4
  1. en la Tabla .edmx, seleccione la columna -> comprobar sus propiedades y establecer Unicode a la verdadera mesa de
  2. volver a generar si se está trabajando en el Código de Primera apporach
  3. compruebe su tabla de base de datos, debe ser nvarchar o ntext tipo de datos

de esta forma EF guardará caracteres Unicode.

enter image description here

+0

esto resolvió mi problema ... de "????" texto a cadenas de trabajo reales Gracias – OldTrain

0

que acaba de cambiar el tipo de datos a nchar() o nvarchar y funcionó. Pudo almacenar los datos en cualquier otro idioma que no sea inglés.

2

Tuve exactamente el mismo problema para el idioma nepalí. Tuve que convertir el tipo de datos de la columna del servidor sql de varchar a nvarchar y luego actualizar mi archivo * .edmx en la asignación del marco de la entidad. Entonces funcionó bien.

varchar (255) => nvarchar (255)

varchar (max) => nvarchar (max)

clic derecho en ese mapeo de la tabla en el archivo edmx y refrescar. Guarde los cambios.

Cuestiones relacionadas