Hello, my bad learning c# on the rock, I feel dirty.
Best Regards. On Thu, Feb 27, 2014 at 1:17 PM, mm.w <0xcafef...@gmail.com> wrote: > Hello > > tell him to add a call named close() ... > > but anyway try that: > > var sqliteConnection = null; > using (sqliteConnection = new ... ) { ... } > sqliteConnection = null; > > // delete > > or > > var sqliteConnection = null; > using (sqliteConnection = new ... ) { ... } > sqliteConnection.Dispose(); > sqliteConnection = null; > > // delete > > or > > var sqliteConnection = null; > using (sqliteConnection = new ... ) { ... } > GC.Collect(); > > // delete > > Best Regards. > > > On Thu, Feb 27, 2014 at 1:00 PM, Joe Strommen <joe.strom...@gmail.com>wrote: > >> The File.Delete call *is* outside the scope using block. >> >> Anyhow, I've added a comment to the ticket. It would be great if a dev >> working on SQLite-LINQ integration gave this a look. >> >> Thanks much! >> >> >> >> On Thu, Feb 27, 2014 at 2:55 PM, mm.w <0xcafef...@gmail.com> wrote: >> >> > Hello, >> > >> > so then move your code out of a scoped using block or force the gc at >> the >> > end before deleting the file >> > >> > anyway what an ugly language! java almost died (google saved it, they >> > should not have), and they did it again! calling that c#, by bad. >> > >> > Best Regards. >> > >> > >> > On Thu, Feb 27, 2014 at 12:50 PM, Joe Strommen <joe.strom...@gmail.com >> > >wrote: >> > >> > > After looking into this further, I think this is the same problem >> > described >> > > in ticket aba4549801, which was marked resolved in Sep 2013 ( >> > > https://system.data.sqlite.org/index.html/tktview?name=aba4549801) >> > > >> > > I will add a comment to the ticket to try to get it re-opened. >> > > >> > > Thanks >> > > Joe >> > > >> > > >> > > On Thu, Feb 27, 2014 at 2:49 PM, mm.w <0xcafef...@gmail.com> wrote: >> > > >> > > > Hello, >> > > > >> > > > is it the class you use? >> > > > >> > > > https://github.com/peterhuene/sqlite-net/blob/master/src/SQLite.cs >> > > > >> > > > then extend SQLiteConnection and overwrite >> > > > >> > > > public void Dispose () to trace what's happening >> > > > >> > > > >> > > > Best Regards. >> > > > >> > > > >> > > > On Thu, Feb 27, 2014 at 12:33 PM, mm.w <0xcafef...@gmail.com> >> wrote: >> > > > >> > > > > Hello, >> > > > > >> > > > > reading quickly the doc >> > > > > >> > > > > "Constructs a new context instance using the existing connection >> to >> > > > > connect to a database. The connection will not be disposed when >> the >> > > > context >> > > > > is disposed ifcontextOwnsConnection is false." >> > > > > >> > > > > base(existingConnection, false) { } >> > > > > >> > > > > Best Regards. >> > > > > >> > > > > >> > > > > On Thu, Feb 27, 2014 at 12:28 PM, Joe Strommen < >> > joe.strom...@gmail.com >> > > > >wrote: >> > > > > >> > > > >> The end of the using() block automatically closes the connection. >> > If >> > > I >> > > > >> remove the line with "efContext.TestEntities.Count()" then it >> works >> > > > fine. >> > > > >> >> > > > >> >> > > > >> On Thu, Feb 27, 2014 at 2:09 PM, mm.w <0xcafef...@gmail.com> >> wrote: >> > > > >> >> > > > >> > Hello, >> > > > >> > >> > > > >> > I don't know anything about c# and the Entity Framework, but >> > > > something >> > > > >> > obvious where do you close your connection? >> > > > >> > >> > > > >> > Best Regards. >> > > > >> > >> > > > >> > >> > > > >> > On Wed, Feb 26, 2014 at 11:46 AM, Joe Strommen < >> > > > joe.strom...@gmail.com >> > > > >> > >wrote: >> > > > >> > >> > > > >> > > Hi all, >> > > > >> > > I'm using SQLite with Entity Framework 6 and having a >> > problem. >> > > I >> > > > >> am >> > > > >> > > unable to delete the sqlite file, even though I'm disposing >> all >> > my >> > > > >> > > disposable objects. Below is a minimal code sample that >> > > > demonstrates >> > > > >> the >> > > > >> > > issue. I'd appreciate any advice/workarounds you can >> provide. >> > > I'm >> > > > >> happy >> > > > >> > > to enter a ticket for this, but I wanted to verify that I'm >> not >> > > > doing >> > > > >> > > something wrong first. >> > > > >> > > >> > > > >> > > (I'm using the latest System.Data.SQLite NuGet package, >> which is >> > > > >> version >> > > > >> > > 1.0.91) >> > > > >> > > >> > > > >> > > Thanks >> > > > >> > > Joe Strommen >> > > > >> > > >> > > > >> > > class Program >> > > > >> > > { >> > > > >> > > public class TestContext : DbContext >> > > > >> > > { >> > > > >> > > public TestContext(DbConnection >> existingConnection) >> > : >> > > > >> > > base(existingConnection, false) { } >> > > > >> > > >> > > > >> > > public DbSet<TestEntity> TestEntities { get; >> set; } >> > > > >> > > } >> > > > >> > > >> > > > >> > > public class TestEntity >> > > > >> > > { >> > > > >> > > public long Id { get; set; } >> > > > >> > > >> > > > >> > > public string Value { get; set; } >> > > > >> > > } >> > > > >> > > >> > > > >> > > static void Main(string[] args) >> > > > >> > > { >> > > > >> > > var path = "test.sqlite"; >> > > > >> > > if (File.Exists(path)) { File.Delete(path); } >> > > > >> > > using (var sqliteConnection = new >> > > SQLiteConnection("Data >> > > > >> > > Source=" + path)) >> > > > >> > > { >> > > > >> > > sqliteConnection.Open(); >> > > > >> > > >> > > > >> > > using (var sqliteCmd = >> > > > >> sqliteConnection.CreateCommand()) >> > > > >> > > { >> > > > >> > > sqliteCmd.CommandText = >> > > > >> > > "CREATE TABLE TestEntities (Id >> INTEGER >> > > > PRIMARY >> > > > >> > KEY >> > > > >> > > AUTOINCREMENT, Value TEXT);" + >> > > > >> > > "INSERT INTO TestEntities ('Value') >> > VALUES >> > > > >> > > ('Value1'), ('Value2'), ('Value3');"; >> > > > >> > > sqliteCmd.ExecuteNonQuery(); >> > > > >> > > } >> > > > >> > > >> > > > >> > > using (var efContext = new >> > > > >> TestContext(sqliteConnection)) >> > > > >> > > { >> > > > >> > > var entityCount = >> > > > efContext.TestEntities.Count(); >> > > > >> > > } >> > > > >> > > } >> > > > >> > > File.Delete(path); // Fails; the file is still >> > locked. >> > > > >> > > } >> > > > >> > > } >> > > > >> > > _______________________________________________ >> > > > >> > > sqlite-users mailing list >> > > > >> > > sqlite-users@sqlite.org >> > > > >> > > http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users >> > > > >> > > >> > > > >> > _______________________________________________ >> > > > >> > sqlite-users mailing list >> > > > >> > sqlite-users@sqlite.org >> > > > >> > http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users >> > > > >> > >> > > > >> _______________________________________________ >> > > > >> sqlite-users mailing list >> > > > >> sqlite-users@sqlite.org >> > > > >> http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users >> > > > >> >> > > > > >> > > > > >> > > > _______________________________________________ >> > > > sqlite-users mailing list >> > > > sqlite-users@sqlite.org >> > > > http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users >> > > > >> > > _______________________________________________ >> > > sqlite-users mailing list >> > > sqlite-users@sqlite.org >> > > http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users >> > > >> > _______________________________________________ >> > sqlite-users mailing list >> > sqlite-users@sqlite.org >> > http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users >> > >> _______________________________________________ >> sqlite-users mailing list >> sqlite-users@sqlite.org >> http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users >> > > _______________________________________________ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users