.NET/MSSQL Server: Вопрос.Net DbDataAdapter имеет неправильный первичный ключ на заполненную DataTable, и я хочу, чтобы исправить эту
я использую System.Data.SqlClient.SqlDataAdapter для подключения к базе данных и читать (.Fill) данные, данные из представления в базе данных (выберите * из v_coolview). Проблема состоит в том, что представление состоит из нескольких таблиц (конечно) и в результате DataTable обычно имеет первичного ключ набора (Datatable.PrimaryKey), который состоит из неправильного столбца (ов).
Поскольку автоматическое поведение/алгоритмы не могут просто угадать правильный PK для результатов представления, я хочу его указать.
Как я могу это сделать?
Unfortunatly это не представляется возможным, потому что мне нужно полностью прочитать схему из базы данных. метод должен работать с любым представлением, поэтому ему необходимо определить сам тип данных. и вот в чем проблема. – austrianuser
Ну, это действительно вне сферы моих знаний; Я больше парень из базы данных. Раньше мы имели возможность обмануть Access, чтобы угадать ключ priamry, указав уникальный индекс в индексированном представлении. Вы можете попробовать это и посмотреть. –
Возможное решение, но с некоторыми отрицательными побочными эффектами: влияет на базовую таблицу (запрещает вставлять данные, чтобы представление было незаконным) и не может применяться к представлениям, которые полагаются на другие представления. – austrianuser