C# 当实体框架中的对象具有在utf-8中存储数据的属性时,如何添加该对象

C# 当实体框架中的对象具有在utf-8中存储数据的属性时,如何添加该对象,c#,mysql,entity-framework,C#,Mysql,Entity Framework,我的应用程序在DB中有一个实体,它有两个字段[id,word],word在其中存储用unicode编写的乌尔都语单词。在DB中正确地创建了字段,以便在手动输入数据时正确地添加这些字段,但当我试图通过实体框架而不是正确的单词来做同样的事情时????出现。 sr是我正在阅读的信息流。文字是我的实体 while (!sr.EndOfStream) { String line = sr.ReadLine(); word w = new word(); w.name=line.Tr

我的应用程序在DB中有一个实体,它有两个字段[id,word],word在其中存储用unicode编写的乌尔都语单词。在DB中正确地创建了字段,以便在手动输入数据时正确地添加这些字段,但当我试图通过实体框架而不是正确的单词来做同样的事情时????出现。 sr是我正在阅读的信息流。文字是我的实体

while (!sr.EndOfStream)
{
    String line = sr.ReadLine();
    word w = new word();
    w.name=line.Trim();
    context.words.AddObject(w);
}
context.SaveChanges(); 
实体是在MYSQL 5.0中创建的

CREATE TABLE `word` (
  `wordid` int(10) unsigned NOT NULL auto_increment,
  `name` varchar(80) character set utf8 collate utf8_bin NOT NULL,
  PRIMARY KEY  (`wordid`)
) ENGINE=InnoDB AUTO_INCREMENT=15716 DEFAULT CHARSET=latin1;

sr是最有可能的罪犯。出于某种原因,它可能无法正确读取字符串。这种行为有很多原因。最有可能的是,最后一个字段的类型为
varchar
。尝试使其成为nvarchar。还有一个重要的问题,你的方法是什么,是先创建数据库还是由EF自动创建?您使用的是什么版本的EF,4或4.3+?“sr”不是罪魁祸首,因为当我直接从文件中读取数据并试图显示某些列表框中的数据时,它的查看效果非常好。@Oybek我在MYSQL 5.0中创建了DB,我的表定义如下CREATE table
word
wordid
int(10)无符号非空自动增量,
name
varchar(80)字符集utf8 collate utf8\u bin NOT NULL,主键(
wordid
)ENGINE=InnoDB自动增量=15716默认字符集=latin1;是否适用于您?