Move from SQL Server CE 4.0 + EF to SQLite - entity-framework

I have a .NET WPF project which is using SQL Server CE 4.0 with Entity Framework.
I want to rework it into a Xamarin Forms project. I think the 'migration' of the backend will be almost seamless, except for the data access layer. I am confused as to what Xamarin supports. I can't use SQL Server CE with Xamarin forms, can I? What about SQLite? It is supported, as far as I can tell.
Ok, but then what about ORM? Right now I am making a heavy use of the EF navigation properties. Is there any way I could preserve this with SQLite?
How would you go about converting code which relies on EF and navigation properties, backed by SQL Server CE, to SQLite, while preserving the mentioned navigation properties?
Can I use Entity Framework with SQLite, on Xamarin Forms?

EF Core supports SQLite, yes.
And SQL Compact is supported with EF Core, but only on Windows desktop.
Support for EF Core with Xamarin Forms is still in progress, see this: https://learn.microsoft.com/en-us/ef/efcore-and-ef6/features

Related

Deploy Entity Framework Core 2.0 alongside EF 6?

Is it possible to deploy / install Entity Framework Core 2.0 alongside traditional Entity Framework 6? Is it fully possible, or possible but with some hang-ups, or not possible? Is this documented somewhere? I think I've seen they said they designed it to be side-by-side, but I'm having a hard time fully confirming this. Thanks.
The official documentation says the following:
It is possible to use EF Core and EF6 in the same application. EF
Core and EF6 have the same type names that differ only by namespace,
so this may complicate code that attempts to use both EF Core and EF6
in the same code file.
If you are porting an existing application that has multiple EF
models, then you can selectively port some of them to EF Core, and
continue using EF6 for the others.
This means of course that you can install both EF6 and EF Core in the same project. I have done this in a few simple cases myself and it was working ok.

How to use Entity framework for MS Access database

I have to develop a desktop windows application in C#.Net 4.0 that will run in three different databases ie. MS Access 2007 onwards, Oracle 11G, and SQL Server 2008. Now I want to use Entity Framework in my application. Is this a best choice to use EF for my application ?
If yes, then how can I use entity framework for Access database?
Thanks in Advance.
You can use the EF with Microsoft Access using an Entity Framework provider for Microsoft Access.
You can find an EF provider for Access
https://github.com/bubibubi/JetEntityFrameworkProvider
See this answer. Ask yourself why you need Access, could you use SQL Express instead? If you absolutely need Access then it would seem EF is not the right choice in this instance.
Putting Access to one side for the moment, it's perfectly possible to change data providers with EF (particularly code-first) as EF abstracts a lot of the database goo away from your code; depending on the database design it could be as simple as changing the connection string dynamically. The practical implications of this really do depend on your database design and the nature and complexity of the application you are building. See this question for example, here's another example.
We use Dapper as our ORM with repositories when working with MS Access. It's fantastic.

What alternatives are there for Entity Framework in ASP.NET MVC3

I want to develop ASP.NET MVC site but I am confused about the use of EF. While developing my database structure/tables will be changed frequently and also after going to the production if anything happened?
If EF not for ASP.NET MVC3 then I would use ....... ?
nHibernate
RavenDb
Don't bother with anything else, in my opinion.
nHibernate is a very mature and open source ORM that can use SQL Server to get data into/out of your ASP.NET MVC (and version) project(s). It is the most direct competitor to EF it terms of popular options in the ORM space.
If you like new and cutting edge technology, then give RavenDB a go. It is its own database and doesn't require an ORM. It just saves the class library objects straight to its own DB. Therefore, you don't have database schema migration issues, etc.
I would go for RavenDb IMO. I'm leaving EF because I'm just so sick of SQL Server and all the hoops and barriers to getting my domain models to work nicely with a traditional RDBMS. (And this is after working with SQL Server since '95) ...

Are the only changes in ADO.Net for .Net 4 in Entity Framework?

It seems from the MSDN overview that the only change to ADO.Net in .Net 4 is the addition of Entity Framework.
I'm working on refactoring some legacy database access to use ADO.Net and one of the things I'd like to document as project issues is any benefit from moving to .Net 4 from the .Net 3.5sp1 we're currently targeting (we have a WPF GUI - it's a pure desktop app).
There have been a lot of improvement on linq-to-SQL as well see here, and that was for beta2, don't know if more stuff made it in the Release:
http://damieng.com/blog/2009/06/01/linq-to-sql-changes-in-net-40

Is Entity Framework provider for Firebird reliable enought?

Has anybody tried to use EF provider (.NET 3.5 SP1) for Firebird (embedded server in my case) in production?
Can it be considered stable enough for commercial development?
I can't say about the Entity Framework but I do use the Firebird .net Data Provider on production and it's rock solid.
It's work fine. I hadn't got bugs in work with this firebird and entity framework. I develope huge application now and use that products very active. I didn't see bugs in firebird .NET provider, but i saw little bug in entity framework. I have only one problem - to install firebird for using in Entity Framework and make settings. It can take about one working day. So after it you can use this product quietly.