powered by simpleCommunicator - 2.0.18     © 2024 Programmizd 02
Map
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Linq выдает исключение об ошибочном ключе хранения поля
16 сообщений из 16, страница 1 из 1
Linq выдает исключение об ошибочном ключе хранения поля
    #40025198
Vlad__i__mir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте!

Есть старая БД на Server 2008R, сейчас пытаюсь писать утилиту с использованием Linq для загрузки в одну из её таблиц данных.

Таблица БД:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
SELECT TOP 1000 [ID]
      ,[NomerPlatform]
      ,[Microdistrict]
      ,[Address]
      ,[Latitude]
      ,[Longitude]
      ,[X]
      ,[Y]
      ,[Pokritie]
      ,[Area]
      ,[PlatformForKBO]
      ,[NumberContainer]
      ,[Planeds]
      ,[VolumeKontainer]
      ,[TonnageKontainers]
      ,[TypeKontainer]
      ,[РаздельныйСборОтходов]
      ,[ДатаУстановкиКонтейнеров]
      ,[UrFaceOwner]
      ,[EGRUL]
      ,[AddresUrFace]
      ,[IPOwner]
      ,[EGRIP]
      ,[AddresIP]
      ,[FizFaceOwner]
      ,[Passport]
      ,[AddresFizFace]
      ,[ServiceOrganization]
      ,[EGRULOrganization]
      ,[AddresOrganization]
      ,[FIODirector]
      ,[Contacts]
      ,[SourseTKO]
      ,[ГрафикВывозаОтходовКонтейнера]
      ,[ГрафикВывозаОтходовКБО]
  FROM [gis_data].[dbo].[KONTEYNERNYE_MESTA]



В приложении создал следующею сущность:
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
114.
115.
116.
117.
118.
119.
120.
121.
122.
123.
124.
125.
126.
127.
128.
129.
130.
131.
132.
133.
134.
135.
136.
137.
138.
139.
140.
141.
142.
143.
144.
145.
146.
147.
148.
149.
150.
151.
152.
153.
154.
155.
156.
157.
158.
159.
160.
161.
162.
163.
164.
165.
166.
167.
168.
169.
170.
171.
172.
173.
174.
175.
176.
177.
178.
179.
180.
181.
182.
183.
184.
185.
186.
187.
188.
189.
190.
191.
192.
193.
194.
195.
196.
197.
198.
199.
200.
201.
202.
203.
204.
205.
206.
207.
208.
209.
210.
211.
212.
213.
214.
215.
216.
217.
218.
219.
220.
221.
222.
223.
224.
225.
226.
227.
228.
229.
230.
231.
232.
233.
234.
235.
236.
237.
238.
239.
240.
241.
242.
243.
244.
245.
246.
247.
248.
249.
250.
251.
252.
253.
254.
255.
256.
257.
258.
259.
260.
261.
262.
263.
264.
265.
266.
267.
268.
269.
270.
271.
272.
273.
274.
275.
276.
277.
278.
279.
280.
281.
282.
283.
284.
285.
286.
287.
288.
289.
290.
291.
292.
293.
294.
295.
296.
297.
298.
299.
300.
301.
302.
303.
304.
305.
306.
307.
308.
309.
310.
311.
312.
313.
314.
315.
316.
317.
318.
319.
320.
321.
322.
323.
324.
325.
326.
327.
328.
329.
330.
331.
332.
333.
334.
335.
336.
337.
338.
339.
340.
341.
342.
343.
344.
345.
346.
347.
348.
349.
350.
351.
352.
353.
354.
355.
356.
357.
358.
359.
360.
361.
362.
363.
364.
365.
366.
367.
368.
369.
370.
371.
372.
373.
374.
375.
376.
377.
378.
379.
380.
381.
382.
383.
384.
385.
386.
387.
388.
389.
390.
391.
392.
393.
394.
395.
396.
397.
398.
399.
400.
401.
402.
403.
404.
405.
406.
407.
408.
409.
410.
411.
412.
413.
414.
415.
416.
417.
418.
419.
420.
421.
422.
423.
424.
425.
426.
427.
428.
429.
430.
431.
432.
433.
434.
435.
436.
437.
438.
439.
[Table(Name ="KONTEYNERNYE_MESTA")]
    class ContainerPlatform
    {
        
        public string ID;
        [Column(IsPrimaryKey = true, Storage = "ID")]
        public string IDCont
        {
            get
            {
                return this.ID;
            }
            set
            {
                this.ID = value;
            }
        }

        public int NomerPlatform;
        [Column(Storage = "NomerPlatform")]
        public int _NomerPlatform
        {
            get
            {
                return this.NomerPlatform;
            }
            set
            {
                this.NomerPlatform = value;
            }
        }

        public string Microdistrict;
        [Column(Storage = "Microdistrict")]
        public string _Microdistrict
        {
            get
            {
                return this.Microdistrict;
            }
            set
            {
                this.Microdistrict = value;
            }
        }

        public string Address;
        [Column(Storage = "Address")]
        public string _Address
        {
            get
            {
                return this.Address;
            }
            set
            {
                this.Address = value;
            }
        }

        public string Latitude;
        [Column(Storage = "Latitude")]
        public string _Latitude
        {
            get
            {
                return this.Latitude;
            }
            set
            {
                this.Latitude = value;
            }
        }

        public string Longitude;
        [Column(Storage = "Longitude")]
        public string _longitude
        {
            get
            {
                return this.Longitude;
            }
            set
            {
                this.Longitude = value;
            }
        }

        public string X;
        [Column(Storage = "X")]
        public string _X
        {
            get
            {
                return this.X;
            }
            set
            {
                this.X = value;
            }
        }

        public string Y;
        [Column(Storage = "Y")]
        public string _Y
        {
            get
            {
                return this.Y;
            }
            set
            {
                this.Y = value;
            }
        }

        public string Pokritie;
        [Column(Storage = "Pokritie")]
        public string _Pokritie
        {
            get
            {
                return this.Pokritie;
            }
            set
            {
                this.Pokritie = value;
            }
        }

        public string Area;
        [Column(Storage = "Area")]
        public string _Area
        {
            get
            {
                return this.Area;
            }
            set
            {
                this.Area = value;
            }
        }

        public string PlatformForKBO;
        [Column(Storage = "PlatformForKBO")]
        public string _PlatformForKBO
        {
            get
            {
                return this.PlatformForKBO;
            }
            set
            {
                this.PlatformForKBO = value;
            }
        }

        public string NumberContainer;
        [Column(Storage = "NumberContainer")]
        public string _NumberContainer
        {
            get
            {
                return this.NumberContainer;
            }
            set
            {
                this.NumberContainer = value;
            }
        }

        public string Planeds;
        [Column(Storage = "Planeds")]
        public string _Planeds
        {
            get
            {
                return this.Planeds;
            }
            set
            {
                this.Planeds = value;
            }
        }

        public string VolumeKontainer;
        [Column(Storage = "VolumeKontainer")]
        public string _VolumeKontainer
        {
            get
            {
                return this.VolumeKontainer;
            }
            set
            {
                this.VolumeKontainer = value;
            }
        }

        public string TonnageKontainers;
        [Column(Storage = "TonnageKontainers")]
        public string _TonnageKontainers
        {
            get
            {
                return this.TonnageKontainers;
            }
            set
            {
                this.TonnageKontainers = value;
            }
        }

        public string TypeKontainer;
        [Column(Storage = "TypeKontainer")]
        public string _TypeKontainer
        {
            get
            {
                return this.TypeKontainer;
            }
            set
            {
                this.TypeKontainer = value;
            }
        }

        public string UrFaceOwner;
        [Column(Storage = "UrFaceOwner")]
        public string _UrFaceOwner
        {
            get
            {
                return this.UrFaceOwner;
            }
            set
            {
                this.UrFaceOwner = value;
            }
        }

        public string EGRUL;
        [Column(Storage = "EGRUL")]
        public string _EGRUL
        {
            get
            {
                return this.EGRUL;
            }
            set
            {
                this.EGRUL = value;
            }
        }

        public string AddresUrFace;
        [Column(Storage = "AddresUrFace")]
        public string _AddresUrFace
        {
            get
            {
                return this.AddresUrFace;
            }
            set
            {
                this.AddresUrFace = value;
            }
        }

        public string IPOwner;
        [Column(Storage = "IPOwner")]
        public string _IPOwner
        {
            get
            {
                return this.IPOwner;
            }
            set
            {
                this.IPOwner = value;
            }
        }

        public string EGRIP;
        [Column(Storage = "EGRIP")]
        public string _EGRIP
        {
            get
            {
                return this.EGRIP;
            }
            set
            {
                this.EGRIP = value;
            }
        }

        public string AddresIP;
        [Column(Storage = "AddresIP")]
        public string _AddresIP
        {
            get
            {
                return this.AddresIP;
            }
            set
            {
                this.AddresIP = value;
            }
        }

        public string FizFaceOwner;
        [Column(Storage = "FizFaceOwner")]
        public string _FizFaceOwner
        {
            get
            {
                return this.FizFaceOwner;
            }
            set
            {
                this.FizFaceOwner = value;
            }
        }

        public string Passport;
        [Column(Storage = "Passport")]
        public string _Passport
        {
            get
            {
                return this.Passport;
            }
            set
            {
                this.Passport = value;
            }
        }

        public string AddresFizFace;
        [Column(Storage = "AddresFizFace")]
        public string _AddresFizFace
        {
            get
            {
                return this.AddresFizFace;
            }
            set
            {
                this.AddresFizFace = value;
            }
        }

        public string ServiceOrganization;
        [Column(Storage = "ServiceOrganization")]
        public string _ServiceOrganization
        {
            get
            {
                return this.ServiceOrganization;
            }
            set
            {
                this.ServiceOrganization = value;
            }
        }
        public string EGRULOrganization;

        [Column(Storage = "EGRULOrganization")]
        public string _EGRULOrganization
        {
            get
            {
                return this.EGRULOrganization;
            }
            set
            {
                this.EGRULOrganization = value;
            }
        }

        public string AddresOrganization;
        [Column(Storage = "AddresOrganization")]
        public string _AddresOrganization
        {
            get
            {
                return this.AddresOrganization;
            }
            set
            {
                this.AddresOrganization = value;
            }
        }

        public string FIODirector;
        [Column(Storage = "FIODirector")]
        public string _FIODirector
        {
            get
            {
                return this.FIODirector;
            }
            set
            {
                this.FIODirector = value;
            }
        }

        public string Contacts;
        [Column(Storage = "Contacts")]
        public string _Contacts
        {
            get
            {
                return this.Contacts;
            }
            set
            {
                this.Contacts = value;
            }
        }

        public string SourseTKO;
        [Column(Storage = "SourseTKO")]
        public string _SourseTKO
        {
            get
            {
                return this.SourseTKO;
            }
            set
            {
                this.SourseTKO = value;
            }
        }

    }



Создаю строку подключения:
Код: c#
1.
2.
3.
4.
private string GetConnectionSQLstring()
        {
            return "Data Source=10.1.48.68;Initial Catalog=gis_data;User ID = sa;Password=*********";
        } 



Потом создаю подключение и пытаюсь выгрузить:
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
        public void GetSqlConnection ()
        {
// Use a connection string
            IDbConnection idbConnection = new SqlConnection(GetConnectionSQLstring());
            DataContext dataContext = new DataContext(idbConnection);

            // Get a typed table to run queries.
            Table<ContainerPlatform> konteyners = dataContext.GetTable<ContainerPlatform>();

            // Attach the log to show generated SQL.
            dataContext.Log = Console.Out;

            // Query for customers in London.
            IQueryable<ContainerPlatform> containerQuery =
                from containerPlatform in konteyners
                where containerPlatform._Microdistrict == "Центральный район"
                select containerPlatform;

            dataGridView_dataBase.DataSource=containerQuery.ToList<ContainerPlatform>();          
        }




На строке
Код: c#
1.
Table<ContainerPlatform> konteyners = dataContext.GetTable<ContainerPlatform>();

выдает исключение авторSystem.InvalidOperationException: Ошибочный ключ хранения: "ID" для члена "UploadKonteinerInINGEO.Entity.ContainerPlatform.IDCont".
в System.Data.Linq.Mapping.AttributedMetaDataMember..ctor(AttributedMetaType metaType, MemberInfo mi, Int32 ordinal)
в System.Data.Linq.Mapping.AttributedMetaType.InitDataMembers()
в System.Data.Linq.Mapping.AttributedMetaType..ctor(MetaModel model, MetaTable table, Type type, MetaType inheritanceRoot)
в System.Data.Linq.Mapping.AttributedRootType..ctor(AttributedMetaModel model, AttributedMetaTable table, Type type)
в System.Data.Linq.Mapping.AttributedMetaTable..ctor(AttributedMetaModel model, TableAttribute attr, Type rowType)
в System.Data.Linq.Mapping.AttributedMetaModel.GetTableNoLocks(Type rowType)
в System.Data.Linq.Mapping.AttributedMetaModel.GetTable(Type rowType)
в System.Data.Linq.DataContext.GetTable[TEntity]()

Не пойму, что ему не нравится?

Поле "ID" в БД действительно varchar PK, не знаю почему так - БД очень старая (больше 15 лет).
Вот какой код генерит SQL Server на эту таблицу:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
CREATE TABLE [dbo].[KONTEYNERNYE_MESTA](
	[ID] [varchar](12) NOT NULL,
	[NomerPlatform] [int] NULL,
	[Microdistrict] [varchar](70) NULL,
	[Address] [varchar](150) NULL,
	[Latitude] [varchar](20) NULL,
	[Longitude] [varchar](20) NULL,
	[X] [varchar](20) NULL,
	[Y] [varchar](20) NULL,
	[Pokritie] [varchar](40) NULL,
	[Area] [varchar](10) NULL,
	[PlatformForKBO] [varchar](90) NULL,
	[NumberContainer] [varchar](40) NULL,
	[Planeds] [varchar](25) NULL,
	[VolumeKontainer] [varchar](20) NULL,
	[TonnageKontainers] [varchar](5) NULL,
	[TypeKontainer] [varchar](70) NULL,
	[РаздельныйСборОтходов] [varchar](150) NULL,
	[ДатаУстановкиКонтейнеров] [varchar](20) NULL,
	[UrFaceOwner] [varchar](254) NULL,
	[EGRUL] [varchar](100) NULL,
	[AddresUrFace] [varchar](254) NULL,
	[IPOwner] [varchar](90) NULL,
	[EGRIP] [varchar](20) NULL,
	[AddresIP] [varchar](150) NULL,
	[FizFaceOwner] [varchar](90) NULL,
	[Passport] [varchar](50) NULL,
	[AddresFizFace] [varchar](150) NULL,
	[ServiceOrganization] [varchar](200) NULL,
	[EGRULOrganization] [varchar](20) NULL,
	[AddresOrganization] [varchar](150) NULL,
	[FIODirector] [varchar](100) NULL,
	[Contacts] [varchar](70) NULL,
	[SourseTKO] [varchar](254) NULL,
	[ГрафикВывозаОтходовКонтейнера] [varchar](70) NULL,
	[ГрафикВывозаОтходовКБО] [varchar](20) NULL,
PRIMARY KEY CLUSTERED 
(
	[ID] ASC
)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]
) ON [PRIMARY]



Модератор: Простыни убираем под спойлер
...
Рейтинг: 0 / 0
Linq выдает исключение об ошибочном ключе хранения поля
    #40025221
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vlad__i__mir
для загрузки в одну из её таблиц данных.
А как данные будут загружаться в эту таблицу, если у неё PK не является автоинкрементным интом?

Я не помню точно, но ключ вроде может быть и стрингом, но надо как-то сообщить EF, каким образом будет возникать новый ключ при вставке данных. Либо тогда не говорить ему, что это IsPrimaryKey, так как пока никаких внешних ключей я в этом коде не наблюдаю.


P.S. Версию EF не хочешь сообщить?
...
Рейтинг: 0 / 0
Linq выдает исключение об ошибочном ключе хранения поля
    #40025231
Vlad__i__mir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.Pro
Vlad__i__mir
для загрузки в одну из её таблиц данных.
А как данные будут загружаться в эту таблицу, если у неё PK не является автоинкрементным интом?

Я не помню точно, но ключ вроде может быть и стрингом, но надо как-то сообщить EF, каким образом будет возникать новый ключ при вставке данных. Либо тогда не говорить ему, что это IsPrimaryKey, так как пока никаких внешних ключей я в этом коде не наблюдаю.


P.S. Версию EF не хочешь сообщить?


EF не использовал, использовал using System.Data.Linq;
using System.Data.Linq.Mapping;

Делал как описано в оф доках https://docs.microsoft.com/ru-ru/dotnet/framework/data/adonet/sql/linq/walkthrough-simple-object-model-and-query-csharp

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
public void GetSqlConnection ()
        {
// Use a connection string
            IDbConnection idbConnection = new SqlConnection(GetConnectionSQLstring());
            DataContext dataContext = new DataContext(idbConnection);

            // Get a typed table to run queries.
            Table<ContainerPlatform> konteyners = dataContext.GetTable<ContainerPlatform>();

            // Attach the log to show generated SQL.
            dataContext.Log = Console.Out;

            // Query for customers in London.
            IQueryable<ContainerPlatform> containerQuery =
                from containerPlatform in konteyners
                where containerPlatform._Microdistrict == "Центральный район"
                select containerPlatform;

            dataGridView_dataBase.DataSource=containerQuery.ToList<ContainerPlatform>();          
        }
...
Рейтинг: 0 / 0
Linq выдает исключение об ошибочном ключе хранения поля
    #40025233
Vlad__i__mir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.Pro,
авторЛибо тогда не говорить ему, что это IsPrimaryKey, так как пока никаких внешних ключей я в этом коде не наблюдаю.


Попробовал, сделал вот так:
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
 public string ID;
        [Column(Storage = "ID")]
        public string IDCont
        {
            get
            {
                return this.ID;
            }
            set
            {
                this.ID = value;
            }
        }



ошибка осталась
...
Рейтинг: 0 / 0
Linq выдает исключение об ошибочном ключе хранения поля
    #40025235
fkthat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vlad__i__mir
EF не использовал, использовал using System.Data.Linq;

Откуда ты этот ад выкопал? Его захоронили больше 10 лет назад.
...
Рейтинг: 0 / 0
Linq выдает исключение об ошибочном ключе хранения поля
    #40025236
Vlad__i__mir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
fkthat,
Google выдал
...
Рейтинг: 0 / 0
Linq выдает исключение об ошибочном ключе хранения поля
    #40025242
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fkthat
Откуда ты этот ад выкопал? Его захоронили больше 10 лет назад.
Ну почему похоронили. Статья, на которую сослался ТС - 2017 года. Просто поверх него написали EF, но сам по себе Linq2Sql остался.


Vlad__i__mir
ошибка осталась
значит переименуй еще само поле в Entity, он, видимо, по соглашению ID пытается назначить ключом.

А вообще, лучше определись для начала, что именно ты хочешь, ради чего решил использовать ORM в конкретном случае?
...
Рейтинг: 0 / 0
Linq выдает исключение об ошибочном ключе хранения поля
    #40025244
Vlad__i__mir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.Pro
fkthat
Откуда ты этот ад выкопал? Его захоронили больше 10 лет назад.
Ну почему похоронили. Статья, на которую сослался ТС - 2017 года. Просто поверх него написали EF, но сам по себе Linq2Sql остался.


Vlad__i__mir
ошибка осталась
значит переименуй еще само поле в Entity, он, видимо, по соглашению ID пытается назначить ключом.

А вообще, лучше определись для начала, что именно ты хочешь, ради чего решил использовать ORM в конкретном случае?


Попробовал переименовать - не помогло:
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
public string Cont;
        [Column(Storage = "ID")]
        public string _Cont
        {
            get
            {
                return this.Cont;
            }
            set
            {
                this.Cont = value;
            }
        }
...
Рейтинг: 0 / 0
Linq выдает исключение об ошибочном ключе хранения поля
    #40025251
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vlad__i__mir
Попробовал переименовать - не помогло:
то есть он пишет " Ошибочный ключ хранения: "_Cont"?
...
Рейтинг: 0 / 0
Linq выдает исключение об ошибочном ключе хранения поля
    #40025264
Vlad__i__mir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.Pro
Vlad__i__mir
Попробовал переименовать - не помогло:
то есть он пишет " Ошибочный ключ хранения: "_Cont"?


Да
...
Рейтинг: 0 / 0
Linq выдает исключение об ошибочном ключе хранения поля
    #40025284
fkthat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Pro
Статья, на которую сослался ТС - 2017 года.

Хм. Посмотрел, и вправду. Но, про Владимира Ильича тоже статьи до сих пор пишут, а он уже почти сто лет как в мавзолее заспиртованный лежит. Подумал, может мне тоже тряхнуть стариной, освежить в памяти прежниескиллы и запилить статью про FoxPro 6.0
...
Рейтинг: 0 / 0
Linq выдает исключение об ошибочном ключе хранения поля
    #40025293
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vlad__i__mir
Shocker.Pro
пропущено...
то есть он пишет " Ошибочный ключ хранения: "_Cont"?


Да
Значит, возможно, он в этот момент лезет на сервер и смотрит на DDL таблицы (надо глянуть в профайлере). Ну и, соответственно, читать, как правильно описывается ключевое поле для Linq2Sql.
...
Рейтинг: 0 / 0
Linq выдает исключение об ошибочном ключе хранения поля
    #40025295
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fkthat
Подумал, может мне тоже тряхнуть стариной, освежить в памяти прежниескиллы и запилить статью про FoxPro 6.0
Любимый баян
Поиск программиста Clarion:
***
Условия:
Оформление по ТК.
Белая заработная плата от 67000 до 82000 на руки.
Льготное питание.
Скидки на туры
Место работы: Химки.

XXX:
Если готовы платить 200 тыс. в месяц на руки, готов вспомнить и ездить в Химки.
За 150 на руки готов вспомнить и работать удаленно

YYY:
300 тыс. в месяц на руки, готов научиться и ездить в Химки.

ZZZ:
400.000 net,
Готов:
1. Разобраться с Clarion,
2. Переписать ваш вашу чудо-систему на Java
3. Переехать в Химки
4. Интегрироваться в химкинское общество, переняв местную культуру и обычаи.
...
Рейтинг: 0 / 0
Linq выдает исключение об ошибочном ключе хранения поля
    #40025298
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Pro
Vlad__i__mir
пропущено...


Да
Значит, возможно, он в этот момент лезет на сервер и смотрит на DDL таблицы (надо глянуть в профайлере). Ну и, соответственно, читать, как правильно описывается ключевое поле для Linq2Sql.
вон смотри как много всякого в этом атрибуте
Код: c#
1.
[Column(Storage="_ProductID", AutoSync=AutoSync.OnInsert, DbType="Int NOT NULL IDENTITY", IsPrimaryKey=true, IsDbGenerated=true)]
...
Рейтинг: 0 / 0
Linq выдает исключение об ошибочном ключе хранения поля
    #40025313
Vlad__i__mir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.Pro
fkthat
Подумал, может мне тоже тряхнуть стариной, освежить в памяти прежниескиллы и запилить статью про FoxPro 6.0
Любимый баян
Поиск программиста Clarion:
***
Условия:
Оформление по ТК.
Белая заработная плата от 67000 до 82000 на руки.
Льготное питание.
Скидки на туры
Место работы: Химки.

XXX:
Если готовы платить 200 тыс. в месяц на руки, готов вспомнить и ездить в Химки.
За 150 на руки готов вспомнить и работать удаленно

YYY:
300 тыс. в месяц на руки, готов научиться и ездить в Химки.

ZZZ:
400.000 net,
Готов:
1. Разобраться с Clarion,
2. Переписать ваш вашу чудо-систему на Java
3. Переехать в Химки
4. Интегрироваться в химкинское общество, переняв местную культуру и обычаи.


)) У меня все намного намного (в разы) скромнее и легаси код 15-ти летней давности (SOAP), исходников которого нет, т.к. писала сторонняя фирма, с которой уже как 10 лет расторгнут договор на поддержку
...
Рейтинг: 0 / 0
Linq выдает исключение об ошибочном ключе хранения поля
    #40025922
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
зачем весь этот секс с загрузкой данных в таблицы через linq и прочее, когда есть SqlBulkCopy, который может супер быстро загружать данный в таблички, при этом можно параллелить импорт данных по таблицам.
при больших объёмах данных у этого способа конкурентов нет, имхо
...
Рейтинг: 0 / 0
16 сообщений из 16, страница 1 из 1
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Linq выдает исключение об ошибочном ключе хранения поля
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали тему (1): Анонимы (1)
Читали форум (1): Анонимы (1)
Пользователи онлайн (10): Анонимы (7), Yandex Bot, Bing Bot, RePredeclared 1 мин.
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]