2012-09-28 6 views
6

Eigentlich bevor ich nicht verwendet Framework oder linq, nur eingibt SQL-Anweisung mit Sqlcommand Klasse, ich tippe insert into table values(N'sample') eigentlich ich weiß nicht, was ist N, aber es funktioniert für Chinesisch und andere Sprache, sonst wird es ein Fragezeichen einfügen.EntityFramework aktualisieren oder einfügen chinesischen oder nicht-englischen Text

Aber wenn ich EntityFramework, diese Art von Framework immer ein Fragezeichen einfügen, kann ich fragen, wie man das Problem anzugehen.

N bedeutet Unicode? Kannst du mir ein Beispiel geben, dass EntityFramework so etwas benutzt?

+0

Ja, Sie können fragen ... :) – gdoron

+0

BTW, ich testete EF mit Hebräisch in es funktioniert gut. Ist Chinesisch in der Unicode enthalten? – gdoron

+1

Es hängt vielleicht davon ab, wie die Datenbank aussieht. Wenn Sie SQL Server verwenden - sind Ihre Spalten nvarchar oder nchar? In EF muss die String-Eigenschaft Unicode auf true festgelegt haben. Verwenden Sie zuerst CodeFirst oder Database/Model? – Pawel

Antwort

0

Stellen Sie sicher, dass die Sprachpakete auf dem Server installiert sind, der sqlserver für Chinesisch enthält.

4
  1. in .edmx Tabelle, wählen Sie Spalte -> seine Eigenschaften überprüfen und einstellen Unicode auf true
  2. Wieder erzeugen Tabelle, wenn Sie in der Code Erste apporach
  3. überprüfen Sie Ihre Datenbank-Tabelle arbeiten, sollte es nvarchar sein oder ntext datentyp

So speichert EF Unicode-Zeichen.

enter image description here

+0

das löste mein Problem ... von "????" Text zu echten funktionierenden Strings Danke – OldTrain

0

änderten wir nur den Datentyp() oder nvarchar Nchar und es funktionierte. Es war in der Lage, die Daten in einer anderen Sprache als Englisch zu speichern.

2

Ich hatte genau dasselbe Problem für Nepali Language. Ich musste den Datentyp der SQL Server-Spalte von Varchar zu Nvarchar konvertieren und dann meine * .edmx Datei in Entity Framework Mapping aktualisieren. Dann hat es gut funktioniert.

varchar (255) => nvarchar (255)

varchar (MAX) => nvarchar (MAX)

Rechtsklick auf dieser Tabellenzuordnung in edmx Datei und aktualisiert. Speichern Sie die Änderungen.

Verwandte Themen