OracleClient에 연결된 EntityFramework 모델 (edml)을 보유하고 있습니다. 내 Entity 모델 개체에 LINQ 쿼리를 사용하여 데이터에 액세스합니다. 내가 직면하고있는 문제는 데이터에 인코딩 된 문자 "ä"가있을 때 LINQ 쿼리 결과 집합에 정상적인 디코딩 된 문자열 "a"가 표시된다는 것입니다. 나는 문자 인코딩을 유지할 필요가있다.EntityFramework LINQ 쿼리에서 인코딩 된 문자열을 가져올 수 없습니다.
여기까지 제가 한 일들과 지금까지 아무 것도하지 않은 것들이 있습니다.
아래 링크에서 언급 한 것처럼 유니 코드 속성을 true로 설정했습니다.
EntityFramework update or insert Chinese or non-English text
- 나는 아래 링크에서 언급 내가 오류를 받고 결국 나의 ConnectionString을에 CharSet는 = UTF8을 설정했습니다. "알 수없는 연결 문자열 매개 변수 'CharSet'". 가능한 조합 (charset, CharSet 등)을 시도했습니다. 내가 대신 EntityFramework의 OracleDataAccess 객체를 사용하여 데이터를 액세스 할 때 없음
using (OracleConnection connection = new OracleConnection(ConfigurationManager.ConnectionStrings["connString"].ConnectionString))
{
connection.Open();
using (OracleCommand command = new OracleCommand(@"SELECT * FROM EMP", connection))
{
Console.WriteLine("Connectin Complete");
command.BindByName = true;
command.CommandType = CommandType.Text;
Console.WriteLine("Reading Data");
OracleDataReader dr = command.ExecuteReader();
// dr.Read();
DataTable dt = new DataTable();
dt.Load(dr);
for (int i = 0; i < dt.Rows.Count; i++)
{
StringBuilder sb = new StringBuilder();
for (int j = 0; j < dt.Rows[i].ItemArray.Count(); j++)
{
sb.Append(dt.Rows[i].ItemArray[j].ToString());
sb.Append("\t\t");
}
Console.WriteLine(sb.ToString());
}
Console.WriteLine("Displaying the Data");
Console.ReadLine();
}
}
내가 원하는 것은 EF에서 DB로부터 데이터를있는 그대로 얻는 것입니다. 어떤 도움이라도 내 인생을 훨씬 쉽게 만들 것입니다.