У меня есть база данных SQL Server, и я только что добавил новую таблицу:
CREATE TABLE [dbo].[my_table](
[my_primary_key] [int] NOT NULL,
[my_data_value] [int] NULL,
PRIMARY KEY CLUSTERED
(
[my_primary_key] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
Я перетаскиваю новую таблицу из обозревателя баз данных в Visual Web Developer в окно дизайна my_schema.dbml
. Это создает для меня файл my_schema.vb
таким образом: -
Partial Class my_schemaDataContext
End Class
хотя некоторые следы таблицы действительно появляются в XML: -
<?xml version="1.0" encoding="utf-8"?><Database Name="my_schema" Class="my_schemaDataContext" xmlns="http://schemas.microsoft.com/linqtosql/dbml/2007">
<Connection Mode="AppSettings" ConnectionString="Data Source=MYPC;Initial Catalog=my_schema;Integrated Security=True" SettingsObjectName="MyProgram.My.MySettings" SettingsPropertyName="my_schemaConnectionString" Provider="System.Data.SqlClient" />
<Table Name="dbo.my_table" Member="my_tables">
<Type Name="my_table">
<Column Name="my_primary_key" Type="System.Int32" DbType="Int NOT NULL" IsPrimaryKey="true" CanBeNull="false" />
<Column Name="my_data_value" Type="System.Int32" DbType="Int" CanBeNull="true" />
</Type>
</Table>
</Database>
Затем я пытаюсь вставить строки в таблицу следующим образом:
Try
db = New my_schemaDataContext("Integrated Security=SSPI; ")
Dim new_row As my_table
new_row = New my_table
new_row.my_primary_key = 1
new_row.my_data_value = 1
db.my_tables.InsertOnSubmit(new_row)
db.SubmitChanges()
Catch ex As Exception
' do something
End Try
Это приводит к исключению Invalid Object Name 'dbo.my_table
.
Предположительно, мне нужно где-то втиснуть имя схемы, но я не понимаю, как это сделать. Я попытался добавить Initial Catalogue=my_schema;
в строку подключения, но это привело к исключению Keyword Not Supported: Initial Catalogue
.
Кто-нибудь знает, что еще я могу попробовать? (Должен отметить, что я также пробовал другие таблицы в той же схеме с теми же результатами, что, я надеюсь, устранит возможность случайных опечаток, вызывающих проблему.)