Я работаю в Asp.net с инфраструктурой сущностей в vs 2010 с помощью базы данных oracle. Я предоставляю строку подключения из кода для работы с фреймами данных объекта datacontext. Вот мой код:Исключение Entity Framework: указанная схема недействительна.
public static string getConStrSQL()
{
//string connectionString = new System.Data.EntityClient.EntityConnectionStringBuilder
string connectionString = new System.Data.EntityClient.EntityConnectionStringBuilder
{
Metadata = "res://*",
Provider = "Oracle.ManagedDataAccess.Client",
//Provider = "Oracle.DataAccess.Client",
ProviderConnectionString = new System.Data.SqlClient.SqlConnectionStringBuilder
{
//InitialCatalog = "ORCL",
DataSource = "MONOJ-PC:1521/ORCL",
//IntegratedSecurity = false,
UserID = "C##MONOJ", // User ID such as "sa"
Password = "Thanks123", // hide the password
}.ConnectionString
}.ConnectionString;
return connectionString;
}
public List<CUSTOMER> GetCustomerList()
{
using (Entities db = new Entities())
{
db.Connection.ConnectionString = getConStrSQL();
db.Connection.Open();
var data = from p in db.CUSTOMERs
select p;
db.Connection.Close();
return data.ToList();
}
}
Но когда я запускаю код я получаю следующие ошибки:
Схема Указана недопустимая. Ошибки: ошибка 0194: все артефакты, загруженные в ItemCollection, должны иметь одинаковую версию. Были обнаружены несколько версий. DAL.DBModel.ssdl (2,46): ошибка 0172: все артефакты SSDL должны быть нацелены на одного и того же провайдера. Поставщик «Oracle.DataAccess.Client» отличается от «Oracle.DataAccess.Client», который встречался ранее. DAL.DBModel.ssdl (2,89): ошибка 0169: все артефакты SSDL должны быть нацелены на одного и того же провайдера. ProviderManifestToken '12 .1 'отличается от «9.2», который встречался ранее. Oracle.ManagedDataAccess.src.EntityFramework.Resources.EFOracleStoreSchemaDefinition.ssdl (3,4): ошибка 0019: имя EntityContainer должно быть уникальным. EntityContainer с именем «Схема» уже определен. Oracle.ManagedDataAccess.src.EntityFramework.Resources.EFOracleStoreSchemaDefinition.ssdl (834,4): ошибка 0019: Каждое имя типа в схеме должно быть уникальным. Имя типа «Oracle.Table» уже определено. Oracle.ManagedDataAccess.src.EntityFramework.Resources.EFOracleStoreSchemaDefinition.ssdl (844,4): ошибка 0019: Каждое имя типа в схеме должно быть уникальным. Имя типа «Oracle.TableColumn» уже определено. Oracle.ManagedDataAccess.src.EntityFramework.Resources.EFOracleStoreSchemaDefinition.ssdl (870,4): ошибка 0019: Каждое имя типа в схеме должно быть уникальным. Имя типа «Oracle.View» уже определено. Oracle.ManagedDataAccess.src.EntityFramework.Resources.EFOracleStoreSchemaDefinition.ssdl (882,4): ошибка 0019: Каждое имя типа в схеме должно быть уникальным. Имя типа «Oracle.ViewColumn» уже определено. Oracle.ManagedDataAccess.src.EntityFramework.Resources.EFOracleStoreSchemaDefinition.ssdl (908,4): ошибка 0019: Каждое имя типа в схеме должно быть уникальным. Имя типа «Oracle.Function» уже определено. Oracle.ManagedDataAccess.src.EntityFramework.Resources.EFOracleStoreSchemaDefinition.ssdl (933,4): ошибка 0019: Каждое имя типа в схеме должно быть уникальным. Имя типа «Oracle.Procedure» уже определено. Oracle.ManagedDataAccess.src.EntityFramework.Resources.EFOracleStoreSchemaDefinition.ssdl (943,4): ошибка 0019: Каждое имя типа в схеме должно быть уникальным. Имя типа «Oracle.Parameter» уже определено. Oracle.ManagedDataAccess.src.EntityFramework.Resources.EFOracleStoreSchemaDefinition.ssdl (967,4): ошибка 0019: Каждое имя типа в схеме должно быть уникальным. Имя типа «Oracle.Constraint» уже определено. Oracle.ManagedDataAccess.src.EntityFramework.Resources.EFOracleStoreSchemaDefinition.ssdl (979,4): ошибка 0019: Каждое имя типа в схеме должно быть уникальным. Имя типа «Oracle.CheckConstraint» уже определено. Oracle.ManagedDataAccess.src.EntityFramework.Resources.EFOracleStoreSchemaDefinition.ssdl (987,4): ошибка 0019: Каждое имя типа в схеме должно быть уникальным. Имя типа «Oracle.ConstraintColumn» уже определено. Oracle.ManagedDataAccess.src.EntityFramework.Resources.EFOracleStoreSchemaDefinition.ssdl (996,4): ошибка 0019: Каждое имя типа в схеме должно быть уникальным. Имя типа «Oracle.ForeignKeyConstraint» уже определено. Oracle.ManagedDataAccess.src.EntityFramework.Resources.EFOracleStoreSchemaDefinition.ssdl (1005,4): ошибка 0019: Каждое имя типа в схеме должно быть уникальным. Имя типа «Oracle.ForeignKey» уже определено. Oracle.ManagedDataAccess.src.EntityFramework.Resources.EFOracleStoreSchemaDefinition.ssdl (1016,4): ошибка 0019: Каждое имя типа в схеме должно быть уникальным. Имя типа «Oracle.ViewConstraint» уже определено. Oracle.ManagedDataAccess.src.EntityFramework.Resources.EFOracleStoreSchemaDefinition.ssdl (1031,4): ошибка 0019: Каждое имя типа в схеме должно быть уникальным. Имя типа «Oracle.TableTableConstraint» уже определено. Oracle.ManagedDataAccess.src.EntityFramework.Resources.EFOracleStoreSchemaDefinition.ssdl (1044,4): ошибка 0019: Каждое имя типа в схеме должно быть уникальным. Имя типа «Oracle.ConstraintConstraintColumn» уже определено. Oracle.ManagedDataAccess.src.EntityFramework.Resources.EFOracleStoreSchemaDefinition.ssdl (1057,4): ошибка 0019: Каждое имя типа в схеме должно быть уникальным. Имя типа «Oracle.ConstraintForeignKey» уже определено. Oracle.ManagedDataAccess.src.EntityFramework.Resources.EFOracleStoreSchemaDefinition.ssdl (1070,4): ошибка 0019: Каждое имя типа в схеме должно быть уникальным. Имя типа «Oracle.FromForeignKeyColumn» уже определено. Oracle.ManagedDataAccess.src.EntityFramework.Resources.EFOracleStoreSchemaDefinition.ssdl (1083,4): ошибка 0019: Каждое имя типа в схеме должно быть уникальным. Имя типа «Oracle.ToForeignKeyColumn» уже определено. Oracle.ManagedDataAccess.src.EntityFramework.Resources.EFOracleStoreSchemaDefinition.ssdl (1096,4): ошибка 0019: Каждое имя типа в схеме должно быть уникальным. Имя типа «Oracle.TableTableColumn» уже определено. Oracle.ManagedDataAccess.src.EntityFramework.Resources.EFOracleStoreSchemaDefinition.ssdl (1109,4): ошибка 0019: Каждое имя типа в схеме должно быть уникальным. Имя типа «Oracle.ViewViewColumn» уже определено. Oracle.ManagedDataAccess.src.EntityFramework.Resources.EFOracleStoreSchemaDefinition.ssdl (1122,4): ошибка 0019: Каждое имя типа в схеме должно быть уникальным. Имя типа «Oracle.FunctionFunctionParameter» уже определено. Oracle.ManagedDataAccess.src.EntityFramework.Resources.EFOracleStoreSchemaDefinition.ssdl (1135,4): ошибка 0019: Каждое имя типа в схеме должно быть уникальным. Имя типа «Oracle.ProcedureProcedureParameter» уже определено. Oracle.ManagedDataAccess.src.EntityFramework.Resources.EFOracleStoreSchemaDefinition.ssdl (1148,4): ошибка 0019: Каждое имя типа в схеме должно быть уникальным. Имя типа «Oracle.ViewViewConstraint» уже определено. Oracle.ManagedDataAccess.src.EntityFramework.Resources.EFOracleStoreSchemaDefinition.ssdl (1161,4): ошибка 0019: Каждое имя типа в схеме должно быть уникальным. Имя типа «Oracle.ViewConstraintConstraintColumn» уже определено. Oracle.ManagedDataAccess.src.EntityFramework.Resources.EFOracleStoreSchemaDefinition.ssdl (1174,4): ошибка 0019: Каждое имя типа в схеме должно быть уникальным. Тип name 'Oracle.ViewConstraintForeignKey' уже определен. Oracle.ManagedDataAccess.src.EntityFramework.Resources.EFOracleStoreSchemaDefinition.ssdl (1187,4): ошибка 0019: Каждое имя типа в схеме должно быть уникальным. Имя типа «Oracle.FromForeignKeyViewColumn» уже определено. Oracle.ManagedDataAccess.src.EntityFramework.Resources.EFOracleStoreSchemaDefinition.ssdl (1200,4): ошибка 0019: Каждое имя типа в схеме должно быть уникальным. Имя типа «Oracle.ToForeignKeyViewColumn» уже определено.
Я googled, но не могу получить никакого ответа. Пожалуйста, помогите мне. Это серебро.
Сколько EDMX-файлы у вас есть в вашем проекте? – tom
Спасибо за ответ, один .edmx файл в моем проекте .... –