You can subscribe to this list here.
2002 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(10) |
Nov
(55) |
Dec
(36) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2003 |
Jan
(38) |
Feb
(108) |
Mar
(79) |
Apr
(95) |
May
(64) |
Jun
(130) |
Jul
(146) |
Aug
(121) |
Sep
(96) |
Oct
(149) |
Nov
(161) |
Dec
(113) |
2004 |
Jan
(113) |
Feb
(163) |
Mar
(248) |
Apr
(132) |
May
(157) |
Jun
(160) |
Jul
(236) |
Aug
(284) |
Sep
(293) |
Oct
(277) |
Nov
(257) |
Dec
(356) |
2005 |
Jan
(203) |
Feb
(190) |
Mar
(220) |
Apr
(165) |
May
(124) |
Jun
(160) |
Jul
(190) |
Aug
(142) |
Sep
(152) |
Oct
(189) |
Nov
(187) |
Dec
(159) |
2006 |
Jan
(170) |
Feb
(151) |
Mar
(212) |
Apr
(262) |
May
(226) |
Jun
(196) |
Jul
(223) |
Aug
(165) |
Sep
(163) |
Oct
(348) |
Nov
(225) |
Dec
(141) |
2007 |
Jan
(261) |
Feb
(161) |
Mar
(222) |
Apr
(193) |
May
(121) |
Jun
(157) |
Jul
(151) |
Aug
(159) |
Sep
(61) |
Oct
(123) |
Nov
(172) |
Dec
(96) |
2008 |
Jan
(104) |
Feb
(138) |
Mar
(131) |
Apr
(131) |
May
(74) |
Jun
(107) |
Jul
(89) |
Aug
(89) |
Sep
(172) |
Oct
(158) |
Nov
(119) |
Dec
(86) |
2009 |
Jan
(52) |
Feb
(84) |
Mar
(78) |
Apr
(83) |
May
(54) |
Jun
(79) |
Jul
(60) |
Aug
(62) |
Sep
(50) |
Oct
(147) |
Nov
(50) |
Dec
(70) |
2010 |
Jan
(135) |
Feb
(113) |
Mar
(74) |
Apr
(93) |
May
(35) |
Jun
(71) |
Jul
(33) |
Aug
(110) |
Sep
(47) |
Oct
(18) |
Nov
(61) |
Dec
(34) |
2011 |
Jan
(46) |
Feb
(47) |
Mar
(25) |
Apr
(24) |
May
(21) |
Jun
(22) |
Jul
(20) |
Aug
(51) |
Sep
(31) |
Oct
(42) |
Nov
(22) |
Dec
(22) |
2012 |
Jan
(31) |
Feb
(19) |
Mar
(25) |
Apr
(55) |
May
(16) |
Jun
(28) |
Jul
(33) |
Aug
(25) |
Sep
(32) |
Oct
(25) |
Nov
(52) |
Dec
(35) |
2013 |
Jan
(43) |
Feb
(18) |
Mar
(36) |
Apr
(45) |
May
(22) |
Jun
(13) |
Jul
(31) |
Aug
(24) |
Sep
(19) |
Oct
(59) |
Nov
(47) |
Dec
(25) |
2014 |
Jan
(27) |
Feb
(15) |
Mar
(38) |
Apr
(10) |
May
(15) |
Jun
(36) |
Jul
(24) |
Aug
(28) |
Sep
(16) |
Oct
(6) |
Nov
(44) |
Dec
(40) |
2015 |
Jan
(52) |
Feb
(22) |
Mar
(13) |
Apr
(17) |
May
(22) |
Jun
(36) |
Jul
(18) |
Aug
(41) |
Sep
(71) |
Oct
(60) |
Nov
(49) |
Dec
(43) |
2016 |
Jan
(60) |
Feb
(13) |
Mar
(21) |
Apr
(28) |
May
(23) |
Jun
(39) |
Jul
(17) |
Aug
(37) |
Sep
(33) |
Oct
(15) |
Nov
(22) |
Dec
(20) |
2017 |
Jan
(27) |
Feb
(40) |
Mar
(48) |
Apr
(19) |
May
(29) |
Jun
(2) |
Jul
(19) |
Aug
(36) |
Sep
(18) |
Oct
(10) |
Nov
(11) |
Dec
(5) |
2018 |
Jan
(5) |
Feb
(4) |
Mar
(5) |
Apr
(3) |
May
(4) |
Jun
(17) |
Jul
(7) |
Aug
(7) |
Sep
(12) |
Oct
(8) |
Nov
(2) |
Dec
|
2019 |
Jan
(8) |
Feb
(5) |
Mar
(3) |
Apr
(5) |
May
(3) |
Jun
(2) |
Jul
(8) |
Aug
(7) |
Sep
(3) |
Oct
(12) |
Nov
(7) |
Dec
(1) |
2020 |
Jan
(8) |
Feb
(3) |
Mar
(7) |
Apr
(1) |
May
(2) |
Jun
(1) |
Jul
(3) |
Aug
(25) |
Sep
(5) |
Oct
(3) |
Nov
(7) |
Dec
(16) |
2021 |
Jan
(11) |
Feb
(10) |
Mar
(16) |
Apr
(8) |
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: Jiří Č. <ji...@ci...> - 2017-08-25 05:03:33
|
More info: https://www.tabsoverspaces.com/233641-ado-net-provider-5-10-0-0-for-firebird-is-ready/ . -- Mgr. Jiří Činčura Independent IT Specialist |
From: Michał Z. (J. <tr...@fi...> - 2017-08-24 10:13:38
|
Exception on NET Core when setting a null value to a command parameter ---------------------------------------------------------------------- Key: DNET-775 URL: http://tracker.firebirdsql.org/browse/DNET-775 Project: .NET Data provider Issue Type: Bug Components: ADO.NET Provider Affects Versions: 5.9.1.0 Environment: Net Core 2 Reporter: Michał Ziemski Assignee: Jiri Cincura Priority: Critical When setting a null to a parameter, provider crashes with "Parameter type is unknown." As far as I understand the reason for this is an unnecessary preprocessor exclusion at line 412 in FbParameter.cs: #if !NETSTANDARD1_6 case TypeCode.DBNull: #endif TypeCode.DBNull is part of netstandard -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://tracker.firebirdsql.org/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira |
From: Ulrich G. <ulr...@ar...> - 2017-08-20 12:10:23
|
Hello, I just saw in the Firebird tracker, that it is planned to drop -Net 4.0 support and a message from 16./August : "OK, one week from now I'll drop NET40 from 6.0 onward, unless somebody opens up a discussion here or in the list and contributes in any way for NET40 support." In our company we are still working with VS2010 and using Net Framework 4.0 and most likely we will not change that before next year. Most likely our company is not the only one. With best regards |
From: Jiri C. (JIRA) <tr...@fi...> - 2017-08-19 13:30:50
|
[ http://tracker.firebirdsql.org/browse/DNET-762?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Jiri Cincura reopened DNET-762: ------------------------------- > Update the referenced Microsoft.BCL packages to latest version for NET40 projects > --------------------------------------------------------------------------------- > > Key: DNET-762 > URL: http://tracker.firebirdsql.org/browse/DNET-762 > Project: .NET Data provider > Issue Type: Improvement > Components: ADO.NET Provider > Affects Versions: 5.9.0.0 > Reporter: André Ziegler > Assignee: Jiri Cincura > Fix For: 5.10.0.0 > > > Please update the referenced Microsoft.BCL packages to latest version for NET40 projects because I use newer versions and here I get conflict. > You use > <package id="Microsoft.Bcl" version="1.1.8" targetFramework="net40-client" /> > <package id="Microsoft.Bcl.Async" version="1.0.168" targetFramework="net40-client" /> > <package id="Microsoft.Bcl.Build" version="1.0.14" targetFramework="net40-client" /> > but there are 2 updates: > <package id="Microsoft.Bcl" version="1.1.10" > <package id="Microsoft.Bcl.Build" version="1.0.21" > I have no idea why you added old versions when there are already newer ones available for years. > I've added assemblyBinding entriy in app.config to redirect the referenced System.Runtime to the newer 2.6.10.0. (Microsoft.Bcl" version="1.1.10" ) but when I capture a trace with WPR.exe and analyze the ETL I still see "System.IO.FileLoadException" entry when .net tries to load System.Runtime in version 2.6.8.0. -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://tracker.firebirdsql.org/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira |
From: Ulrich G. <ulr...@ar...> - 2017-08-16 08:34:18
|
Just learned, that this is necessary since I move to FirebirdClient version 5.9 :-) Thank you for pushing me into the right directions - its working now > Jiří Činčura hat am 16. August 2017 um 09:21 geschrieben: > > > > Seems to be a problem with the install .Net framework v4.0.30319 ? > > > > > Not really. Do you have all NuGet dependencies installed? > > -- > Mgr. Jiří Činčura > https://www.tabsoverspaces.com/ > > --------------------------------------------- > Check out the vibrant tech community on one of the world's most > engaging tech sites, Slashdot.org! http://sdm.link/slashdot > _______________________________________________ > Firebird-net-provider mailing list > Fir...@li...urceforge mailto:Fir...@li...urceforge .net > https://lists.sourceforge.net/lists/listinfo/firebird-net-provider > |
From: Jiří Č. <ji...@ci...> - 2017-08-16 07:21:29
|
> Seems to be a problem with the install .Net framework v4.0.30319 ? Not really. Do you have all NuGet dependencies installed? -- Mgr. Jiří Činčura https://www.tabsoverspaces.com/ |
From: Ulrich G. <ulr...@ar...> - 2017-08-16 06:27:19
|
Is that what you are looking for? StackTrace : bei FirebirdSql.Data.FirebirdClient.FbRemoteEvent.QueueEvents(String[] events) bei RemoteEvent.Program.Main(String[] args) in S:\FirebirdClient\Test\FbRemoteEvent\Program.cs:Zeile 26. bei System.AppDomain._nExecuteAssembly(RuntimeAssembly assembly, String[] args) bei System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String[] args) bei Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly() bei System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx) bei System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx) bei System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state) bei System.Threading.ThreadHelper.ThreadStart() there is the inner exception : {"Die Datei oder Assembly \"Microsoft.Threading.Tasks, Version=1.0.12.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a\" oder eine Abhängigkeit davon wurde nicht gefunden. Das System kann die angegebene Datei nicht finden.":"Microsoft.Threading.Tasks, Version=1.0.12.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"} Seems to be a problem with the install .Net framework v4.0.30319 ? > Jiří Činčura <ji...@ci...> hat am 14. August 2017 um 17:03 geschrieben: > > > What's the complete stack trace? > > I copy-pasted your code to a console app and it worked fine. I only > changed database name. The rest was untouched. > > -- > Mgr. Jiří Činčura > https://www.tabsoverspaces.com/ > > > ------------------------------------------------------------------------------ > Check out the vibrant tech community on one of the world's most > engaging tech sites, Slashdot.org! http://sdm.link/slashdot > _______________________________________________ > Firebird-net-provider mailing list > Fir...@li... > https://lists.sourceforge.net/lists/listinfo/firebird-net-provider |
From: Jiří Č. <ji...@ci...> - 2017-08-14 15:03:17
|
What's the complete stack trace? I copy-pasted your code to a console app and it worked fine. I only changed database name. The rest was untouched. -- Mgr. Jiří Činčura https://www.tabsoverspaces.com/ |
From: Ulrich G. <ulr...@ar...> - 2017-08-14 11:54:04
|
<!DOCTYPE html> <html><head> <meta charset="UTF-8"> </head><body><p>Since this new class with its own data connection were introduced, I can't make it work anymore. When using the</p><p><br></p><p>QueueEvents(EventName) method an exception [] is thrown ["Error reading data from the connection."]</p><p>I'm using the same connection string which I'm using for my other data connections</p><p>Its also not working with the provided example code :</p><pre><em>using (var @event = new FbRemoteEvent(Connection.ConnectionString)) { @event.RemoteEventError += (sender, e) => { Console.WriteLine($"ERROR: {e.Error}"); }; @event.RemoteEventCounts += (sender, e) => { Console.WriteLine($"{e.Name}: {e.Counts}"); }; @event.QueueEvents("test"); using (var cmd = Connection.CreateCommand()) { cmd.CommandText = "execute block as begin post_event 'test'; end"; cmd.ExecuteNonQuery(); } Console.ReadKey(); }<br><br>My connection string is :<br><br>"initial catalog=database.fdb;data source=Localhost;port number=3050;character set=ISO8859_1;user id=sysdba;password=masterkey;pooling=False;min pool size=1;max pool size=50;client library=fbClient.dll;dialect=3"<br><br><br></em></pre><p>Best regards</p></body></html> |
From: FSOYSAL ( G. ) <fs...@gm...> - 2017-08-14 06:48:18
|
With FirebirdSql.Data.FirebirdClient 5.9.1 / 5.8.1 * db.SELECT(Of CARDS)(New With {.CARD_NO = SOME_CARD_NO }) is returning null But db.SELECT(Of CARDS)(" CARD_NO = " + CARD_NO ) is returning with recordS what can be problem ? ( i updated ormlite.firebird referance also ) |
From: Jiří Č. <ji...@ci...> - 2017-08-11 06:50:49
|
Interesting. What's the Firebird client library version? Does the memory leak from the start of only after some time? -- Mgr. Jiří Činčura https://www.tabsoverspaces.com/ |
From: Геннадий З. <zab...@gm...> - 2017-08-10 04:37:38
|
Hi all. I have server, after a while, it starts continuously consume memory. All approaches I've used before didn't show that this was particular memory leak in server code. To detect memory leak I've used vmmap, that showed private memory (VirtualAlloc) is consumed (attach1.png https://1drv.ms/i/s!AsU_6wa3CeYThLFeMp4JNF5PKg24Ig). Screenshot doesn't fully shows, but there are a lot of 64 kb chunks that was allocated during work of server. VirtualAlloc allocations aren't handled by +ust (Create user mode stack trace database) global flag, so I wasn't able to retrieve stacks for these allocations. But, there is Application Verifier that does tracks allocations and stack traces. So I've used AppVerif+WinDbg and obtained following information: 0:053> !avrf -vs -a 0x7FF5CB770000 Searching call tracker @ 000001dc4fcd2fc0 with 16384 valid entries ... -------------------------------------------------------------- VirtualAlloc: 7FF5CB770000 10000 101000 4 00007ffbc5ebac57: KERNELBASE!VirtualAlloc+0x47 00007ffb9b124817: vfbasics!AVrfpVirtualAlloc+0x47 000000018002e11c: fbembed!Firebird::MemoryPool::external_alloc+0xCC 000000018002ef76: fbembed!Firebird::MemoryPool::internal_alloc+0x286 000000018002d68e: fbembed!Firebird::MemoryPool::allocate_nothrow+0x21E 000000018002e8de: fbembed!Firebird::MemoryPool::getExtent+0x2E 000000018002eebf: fbembed!Firebird::MemoryPool::internal_alloc+0x1CF 000000018002d68e: fbembed!Firebird::MemoryPool::allocate_nothrow+0x21E 000000018002d44e: fbembed!Firebird::MemoryPool::allocate+0xE 0000000180116d8c: fbembed!PAR_gen_field+0x2C 00000001800e3a53: fbembed!copy+0x3D3 00000001800e3791: fbembed!copy+0x111 00000001800e3791: fbembed!copy+0x111 00000001800e6808: fbembed!make_validation+0x278 00000001800e7464: fbembed!pass1_modify+0x2F4 00000001800e0004: fbembed!CMP_pass1+0x1084 00000001800e085e: fbembed!CMP_pass1+0x18DE 00000001800e085e: fbembed!CMP_pass1+0x18DE 00000001800e085e: fbembed!CMP_pass1+0x18DE 00000001800de76b: fbembed!CMP_make_request+0x8B 00000001800dc809: fbembed!CMP_compile2+0xD9 000000018006f03c: fbembed!JRD_compile+0x8C 000000018022f1c5: fbembed!prepare+0x9E5 000000018022b114: fbembed!DSQL_prepare+0x2C4 0000000180084324: fbembed!jrd8_prepare+0x2C4 0000000180051c2a: fbembed!isc_dsql_prepare_m+0x2EA 000000018005174d: fbembed!isc_dsql_prepare+0x15D 00007ffb5fa6cea4: +0x7FFB5FA6CEA4 0:053> !ip2md 0x7FFB5FA6CEA4 MethodDesc: 00007ffb5fccad38 Method Name: DomainBoundILStubClass.IL_STUB_PInvoke(IntPtr[], FirebirdSql.Data.Client.Native.Handle.TransactionHandle ByRef, FirebirdSql.Data.Client.Native.Handle.StatementHandle ByRef, Int16, Byte[], Int16, IntPtr) Class: 00007ffb5f001fd0 MethodTable: 00007ffb5f002048 mdToken: 0000000006000000 Module: 00007ffb5ef5ea38 IsJitted: yes CodeAddr: 00007ffb5fa6cc00 Transparency: Safe critical As you can see, root of stack that allocates memory is this row https://github.com/cincuranet/FirebirdSql.Data.FirebirdClient/blob/2cedb4fb49c6bb1a7d9221914cea6060d643b6ff/Provider/src/FirebirdSql.Data.FirebirdClient/Client/Native/FesStatement.cs#L268. My first suggestion was that something in chain FbConnection->FbConnectionInternal->FesDatabase->FesStatement->StatementHandle wasn't properly disposed/cleared. But as I can see by !dumpheap -stat -type StatementHandle, all handles already disposed or in finalizer queue, not mention that in dump there are only 50 StatementHandles, that is much less than potentially needed to occupate 700+ Mb. Any ideas what happens here? Why memory allocated in PAR_gen_field isn't deallocated after StatementHandle disposed? |
From: Jiří Č. <ji...@ci...> - 2017-08-01 12:23:51
|
> Stacktrace of the inner exception: > > bei > System.Data.Entity.Core.Mapping.Update.Internal.UpdateTranslator.Update() > bei > System.Data.Entity.Core.EntityClient.Internal.EntityAdapter.<Update>b__2(UpdateTranslator > ut) > bei > System.Data.Entity.Core.EntityClient.Internal.EntityAdapter.Update[T](T > noChangesResult, Func`2 updateFunction) > bei > System.Data.Entity.Core.EntityClient.Internal.EntityAdapter.Update() > bei > System.Data.Entity.Core.Objects.ObjectContext.<SaveChangesToStore>b__35() > bei > System.Data.Entity.Core.Objects.ObjectContext.ExecuteInTransaction[T](Func`1 > func, IDbExecutionStrategy executionStrategy, Boolean > startLocalTransaction, Boolean releaseConnectionOnSuccess) > bei > System.Data.Entity.Core.Objects.ObjectContext.SaveChangesToStore(SaveOptions > options, IDbExecutionStrategy executionStrategy, Boolean > startLocalTransaction) > bei > System.Data.Entity.Core.Objects.ObjectContext.<>c__DisplayClass2a.<SaveChangesInternal>b__27() > bei > System.Data.Entity.Infrastructure.DefaultExecutionStrategy.Execute[TResult](Func`1 > operation) > bei > System.Data.Entity.Core.Objects.ObjectContext.SaveChangesInternal(SaveOptions > options, Boolean executeInExistingTransaction) > bei > System.Data.Entity.Core.Objects.ObjectContext.SaveChanges(SaveOptions > options) > bei System.Data.Entity.Internal.InternalContext.SaveChanges() This is from SaveChanges. It's not related to setting state to Detached. -- Mgr. Jiří Činčura https://www.tabsoverspaces.com/ |
From: Nikolaus K. <par...@gm...> - 2017-08-01 11:03:46
|
Hello, this is the current config: ctx.Configuration.ProxyCreationEnabled = false; // res is the main object = an employee // res.ARBEITSZEITEN are the list of past and current engagements res = ctx.RESSOURCEN.Include(z => z.ARBEITSZEITEN).FirstOrDefault(a => a.EXTERNE_ID == personalnummer); // In the case of an error: foreach (ARBEITSZEITEN a in res.ARBEITSZEITEN) { ctx.Entry(a).State = EntityState.Detached; } ctx.Entry(res).State = EntityState.Detached; Stacktrace of the inner exception: bei System.Data.Entity.Core.Mapping.Update.Internal.UpdateTranslator.Update() bei System.Data.Entity.Core.EntityClient.Internal.EntityAdapter.<Update>b__2(UpdateTranslator ut) bei System.Data.Entity.Core.EntityClient.Internal.EntityAdapter.Update[T](T noChangesResult, Func`2 updateFunction) bei System.Data.Entity.Core.EntityClient.Internal.EntityAdapter.Update() bei System.Data.Entity.Core.Objects.ObjectContext.<SaveChangesToStore>b__35() bei System.Data.Entity.Core.Objects.ObjectContext.ExecuteInTransaction[T](Func`1 func, IDbExecutionStrategy executionStrategy, Boolean startLocalTransaction, Boolean releaseConnectionOnSuccess) bei System.Data.Entity.Core.Objects.ObjectContext.SaveChangesToStore(SaveOptions options, IDbExecutionStrategy executionStrategy, Boolean startLocalTransaction) bei System.Data.Entity.Core.Objects.ObjectContext.<>c__DisplayClass2a.<SaveChangesInternal>b__27() bei System.Data.Entity.Infrastructure.DefaultExecutionStrategy.Execute[TResult](Func`1 operation) bei System.Data.Entity.Core.Objects.ObjectContext.SaveChangesInternal(SaveOptions options, Boolean executeInExistingTransaction) bei System.Data.Entity.Core.Objects.ObjectContext.SaveChanges(SaveOptions options) bei System.Data.Entity.Internal.InternalContext.SaveChanges() Thanks Niko -----Ursprüngliche Nachricht----- Von: Jiří Činčura [mailto:ji...@ci...] Gesendet: Dienstag, 1. August 2017 11:52 An: fir...@li... Betreff: Re: [Firebird-net-provider] Handling Errors with EF > If I want to loop through the navigation property directy (without > copying it to another List<T>) is there a way to do this? I don#t > understand the collection changed error, because I do not add or > remove an item from the list. I am changing the Entitystate. What's the exception stack trace? That should work out of the box (with the proxies turned off). -- Mgr. Jiří Činčura https://www.tabsoverspaces.com/ ------------------------------------------------------------------------------ Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot _______________________________________________ Firebird-net-provider mailing list Fir...@li... https://lists.sourceforge.net/lists/listinfo/firebird-net-provider |
From: Jiří Č. <ji...@ci...> - 2017-08-01 09:51:59
|
> If I want to loop through the navigation property directy (without > copying it to another List<T>) is there a way to do this? I don#t > understand the collection changed error, because I do not add or remove > an item from the list. I am changing the Entitystate. What's the exception stack trace? That should work out of the box (with the proxies turned off). -- Mgr. Jiří Činčura https://www.tabsoverspaces.com/ |
From: Nikolaus K. <par...@gm...> - 2017-08-01 09:27:53
|
Hello Jiri, thanks for the fast response. If I want to loop through the navigation property directy (without copying it to another List<T>) is there a way to do this? I don#t understand the collection changed error, because I do not add or remove an item from the list. I am changing the Entitystate. foreach (BAU2ORG bau2org in this.NeueBaustelle.BAU2ORG) { this._ctx.Entry(bau2org).State = EntityState.Detached; } Niko -----Ursprüngliche Nachricht----- Von: Jiří Činčura [mailto:ji...@ci...] Gesendet: Dienstag, 1. August 2017 11:15 An: fir...@li... Betreff: Re: [Firebird-net-provider] Handling Errors with EF > I would like to understand if there is a better way to handle the > relation between the main entitiy and navigation properties when a > SaveChanges() fails. It's generally expected that every change in DbContext (and hence in UOW) will be saved. The user will eventually fix all validation violations. Hence the skipping is kind of non-standard scenario. Detaching the graph is then correct solution. Sadly you have to detach the whole graph manually (https://msdn.microsoft.com/en-us/library/system.data.objects.objectcontext.detach(v=vs.110).aspx). Given the DbContext is the UOW these no way to disconnect these - have one DbContext with multiple UOWs (where you'd discard that UOW with violations and continue saving). Or course poor man's solution would be to create bunch of DbContexts, but I'm afraid that would hurt performance and add complexity on the other side with attaching. -- Mgr. Jiří Činčura https://www.tabsoverspaces.com/ ------------------------------------------------------------------------------ Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot _______________________________________________ Firebird-net-provider mailing list Fir...@li... https://lists.sourceforge.net/lists/listinfo/firebird-net-provider |
From: Jiří Č. <ji...@ci...> - 2017-08-01 09:15:12
|
> I would like to understand if there is a better way to handle the > relation between the main entitiy and navigation properties when a > SaveChanges() fails. It's generally expected that every change in DbContext (and hence in UOW) will be saved. The user will eventually fix all validation violations. Hence the skipping is kind of non-standard scenario. Detaching the graph is then correct solution. Sadly you have to detach the whole graph manually (https://msdn.microsoft.com/en-us/library/system.data.objects.objectcontext.detach(v=vs.110).aspx). Given the DbContext is the UOW these no way to disconnect these - have one DbContext with multiple UOWs (where you'd discard that UOW with violations and continue saving). Or course poor man's solution would be to create bunch of DbContexts, but I'm afraid that would hurt performance and add complexity on the other side with attaching. -- Mgr. Jiří Činčura https://www.tabsoverspaces.com/ |
From: Nikolaus K. <par...@gm...> - 2017-08-01 09:01:36
|
Hello Jiri, by gentle way I mean that one failing record does not impact the following context.SaveChanges(). Yes I want to skip the failing record. If the user complets e.g. missing data and submits the data a second time I will add the entity again and save it. During a mass import of data I also want to skip the failing record and continue. Regarding proxy creation: It was enabled at the beginning, I disabled it, but did not see a difference. This approach is currently working for me: // Copy alle records of the relevant navigation property to a new list<T>. Arbeitszeiten.AddRange(res.ARBEITSZEITEN); // ctx.SaveChanges() fails foreach (ARBEITSZEITEN a in Arbeitszeiten) { ctx.Entry(a).State = EntityState.Detached; } ctx.Entry(res).State = EntityState.Detached; I would like to understand if there is a better way to handle the relation between the main entitiy and navigation properties when a SaveChanges() fails. Niko -----Ursprüngliche Nachricht----- Von: Jiří Činčura [mailto:ji...@ci...] Gesendet: Montag, 31. Juli 2017 16:09 An: fir...@li... Betreff: Re: [Firebird-net-provider] Handling Errors with EF What do you mean by "gentle way". You want to skip that record? Or skip all pending changes? Also do you have proxy creation enabled? -- Mgr. Jiří Činčura https://www.tabsoverspaces.com/ ------------------------------------------------------------------------------ Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot _______________________________________________ Firebird-net-provider mailing list Fir...@li... https://lists.sourceforge.net/lists/listinfo/firebird-net-provider |
From: Jiří Č. <ji...@ci...> - 2017-07-31 14:08:50
|
What do you mean by "gentle way". You want to skip that record? Or skip all pending changes? Also do you have proxy creation enabled? -- Mgr. Jiří Činčura https://www.tabsoverspaces.com/ |
From: Nikolaus K. <par...@gm...> - 2017-07-28 16:22:21
|
Hello, I am using EF with Firebird for some time now and it works very fine. When I submit a new record via EF i wrap it into a try{} catch{} and want to to recover in a gentle way. Eg. The new record violates the PK. In this case I set the current entity to state detached. This works ok unless the entity has navigation properties that have been populated. this._ctx.Entry(this.NeueBaustelle).State = EntityState.Detached; In this case I tried to detached them before the main entity: foreach (BAU2ORG bau2org in this.NeueBaustelle.BAU2ORG) { this._ctx.Entry(bau2org).State = EntityState.Detached; } Unfortunatly I receive a collection has changed error. Therefor I tried this: this.NeueBaustelle.BAU2ORG.Clear(); So far I do not get any troubles (tests are in progress). What is the best way to handle error conditions during save with navigation properties? Thanks Niko |
From: Jiri C. (JIRA) <tr...@fi...> - 2017-07-25 08:17:43
|
Drop NET40 support ------------------ Key: DNET-774 URL: http://tracker.firebirdsql.org/browse/DNET-774 Project: .NET Data provider Issue Type: Task Components: ADO.NET Provider, Entity Framework support, NuGet packages Affects Versions: 5.9.1.0 Reporter: Jiri Cincura Assignee: Jiri Cincura -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://tracker.firebirdsql.org/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira |
From: Jiří Č. <ji...@ci...> - 2017-07-18 10:20:09
|
> Option 2 - ctor with target version sounds the best. You could name pre3 > version enum "Version1" and the new format "Version2" so it's not linked > to > FB version. That sounds good. Maybe confusing for new developers, but what you can do, right? > A nice to have would be to have default enum value be "DetectVersion" > which > would do the roundtrip server check. I'm bit worried about having it as default. Convenient, yes, but hidden perf problem. Though not sure it matters on FbTrace much. -- Mgr. Jiří Činčura https://www.tabsoverspaces.com/ |
From: Gerdus v. Z. <ger...@gm...> - 2017-07-17 13:18:53
|
Option 2 - ctor with target version sounds the best. You could name pre3 version enum "Version1" and the new format "Version2" so it's not linked to FB version. A nice to have would be to have default enum value be "DetectVersion" which would do the roundtrip server check. On 17 July 2017 at 14:18, Jiří Činčura <ji...@ci...> wrote: > Hi *, > > Firebird 3 changed the format for trace configuration (yeah, I know) and > thus the FbTrace now needs to handle this. I'm currently banging my head > how to nicely present it to you - developers. I came up with these > solutions. > > 1. Provide 2 methods for starting. Like StartPre3 and Start. I like that > it's discoverable from IntelliSense. And it's just a different method to > call for developer. > 2. Have Start method or ctor take enum with target version. Not sure > about the naming though. Putting "3" might become confusing when v4 > comes out (hopefully without format change). > 3. Have different FbDatabaseTraceConfiguration classes and developer > needs to instantiate correct one. I don't feel this is a clean design > (not that the format change was a good design...). > 4. Have a FbTrace and FbTrace3 (for example). Again as in 3. Maybe bit > easier to discover. Don't like the idea of another class that will be > there "forever". > 5. Before connecting automagically check server version. Although most > pleasant from outside, I don't like the idea of extra roundtrip to get > this information. > > Ideas? > > -- > Mgr. Jiří Činčura > https://www.tabsoverspaces.com/ > > ------------------------------------------------------------ > ------------------ > Check out the vibrant tech community on one of the world's most > engaging tech sites, Slashdot.org! http://sdm.link/slashdot > _______________________________________________ > Firebird-net-provider mailing list > Fir...@li... > https://lists.sourceforge.net/lists/listinfo/firebird-net-provider > |
From: Jiří Č. <ji...@ci...> - 2017-07-17 12:18:12
|
Hi *, Firebird 3 changed the format for trace configuration (yeah, I know) and thus the FbTrace now needs to handle this. I'm currently banging my head how to nicely present it to you - developers. I came up with these solutions. 1. Provide 2 methods for starting. Like StartPre3 and Start. I like that it's discoverable from IntelliSense. And it's just a different method to call for developer. 2. Have Start method or ctor take enum with target version. Not sure about the naming though. Putting "3" might become confusing when v4 comes out (hopefully without format change). 3. Have different FbDatabaseTraceConfiguration classes and developer needs to instantiate correct one. I don't feel this is a clean design (not that the format change was a good design...). 4. Have a FbTrace and FbTrace3 (for example). Again as in 3. Maybe bit easier to discover. Don't like the idea of another class that will be there "forever". 5. Before connecting automagically check server version. Although most pleasant from outside, I don't like the idea of extra roundtrip to get this information. Ideas? -- Mgr. Jiří Činčura https://www.tabsoverspaces.com/ |
From: Jiri C. (JIRA) <tr...@fi...> - 2017-07-14 08:32:35
|
Handling new fbtrace format --------------------------- Key: DNET-773 URL: http://tracker.firebirdsql.org/browse/DNET-773 Project: .NET Data provider Issue Type: Sub-task Reporter: Jiri Cincura Assignee: Jiri Cincura -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://tracker.firebirdsql.org/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira |