如何使用LINQPad将行插入包含地理列的SQL Server表?
我有这张桌子:
CREATE TABLE [dbo].[School](
[Id] [int] IDENTITY(1,1) NOT NULL,
[Name] [nvarchar](100) NOT NULL,
[Geometry] [geography] NOT NULL,
[Gender] [nchar](1) NOT NULL,
[SchoolType] [int] NOT NULL,
[AgeGroups] [int] NOT NULL,
CONSTRAINT [PK_School] PRIMARY KEY CLUSTERED ([Id] ASC)
我正在使用 LINQPad 5 来填充表格,但是在调用Schools.Context.SubmitChanges()
时我收到以下异常:
Cannot insert the value NULL into column 'Geometry', table 'TestDb.dbo.School'; column does not allow nulls. INSERT fails.
The statement has been terminated.
生成的SQL是:
-- Region Parameters
DECLARE @p0 NVarChar(1000) = 'Te Kao School'
DECLARE @p1 NChar(1) = 'C'
DECLARE @p2 Int = 1
DECLARE @p3 Int = 1
-- EndRegion
INSERT INTO [School]([Name], [Gender], [SchoolType], [AgeGroups])
VALUES (@p0, @p1, @p2, @p3)
SELECT CONVERT(Int,SCOPE_IDENTITY()) AS [value]
我想要插入的行没有空值。这就是它的样子:
School
LINQPad.User.School
Id: 0
Name: "Temp School "
Geometry: SqlGeography: POINT (172.965771 -34.656533)
Gender: C
SchoolType: 1
AgeGroups: 1
我插入行的代码如下所示:
Schools.InsertAllOnSubmit(schoolRecords);
Schools.Context.SubmitChanges();