Is EF4 "Code Only" ready for production use? - entity-framework

I've been looking at the new Entity Framework 4 Code Only features, and I really like them. But I'm having a hard time finding good resource on the feature. Everything seems to be spread around blongs here and there, so this make me wonder if it's ready to be used for a serious project?
What do you think? Is it ready for production use or should I use the more traditional approach (EDMX designer, POCO objects)?
Also, I would like to know if there are any features that Code Only does not support yet, compared to the EDMX designer?
What do you think about the Code Only feature? Is it "mature" yet?
Thank you.

It depends when your project should be ready. Code First (Code Only) is only in CTP3 without go-live license. As I've read, there is no exact timeframe for the Feature Pack Where is EntityConfiguration in EF4 VS 2010 RTM? and it will be published when it will be ready (no release date). According to the blog of EF team it will be available in the next framework release.
Code First is still under active
development and will have some
breaking changes so there is no
go-live licence at this time.
Link
Code First = Code Only
In my projects I went with EF + POCO for now.

If anyone is still looking for an answer to this, Entity Framework V4.1 which has the "Code first" feature has been RTW (released to web) for production use since a month and a half now.
You need .Net 4.0 RTM in order to install it. Once you have that installed, you can download the stand-alone installer for EF4.1 from here.

Related

System.Reactive for WPF .NET 6

I'm trying to target .NET 6 for my WPF app, but because I'm using RX.net, the highest I can go is net5.0-windows10.0.19041. One example is that ObserveOnDispatcher() is not available when I'm targeting net6.0-windows, which my app makes heavy use of.
Does anybody know either A) when a .NET 6 version of RX.NET will be released, or B) any workarounds for ObserveOnDispatcher() or ObserveOn(DispatcherScheduler.Current.Dispatcher) on .NET 6?
Thanks
A relatively painless way I found was to simply add the ReactiveUI.WPF package to my WPF projects. This allowed me to advance to net6.0-windows, and also to use DispatcherScheduler. I am not using anything from ReactiveUI library, so this is technically a hack, but took 5 minutes of my time and added only a few hundred kilobytes added to the shipped binaries, so it was worth it for me to be able to move on from previously being held back on net5.0-windows10.0.19041 because of RX.
If I had more time and skill I would dig into how the ReactiveUI.WPF source code achieved this desired effect, and apply this to my own source code... maybe someone has a more elegant, non-hack solution.
This will be fixed in v5.1
https://github.com/dotnet/reactive/pull/1660
You could try the nightly builds as per the readme.
https://github.com/dotnet/reactive#get-nightly-builds

Is there any fastest method to update edmx?

I am using Sqlserver 2008 . I want to generate or update edmx. it take 8-15 minute to generate edmx. is there is any tool to create edmx fast?
I have a tool that works with VS2008, VS2010, VS2012, and VS2013, that can do both full and incremental updates of EDMX files. It doesn't work with VS2015 though, as development has been on ice for a while, and VS2015 don't support the same integration interfaces as previous versions of Visual Studio.
You can download it from https://huagati.com/edmxtools/ (free nowadays), and there's a screencast showing the functionality I think you are looking for at https://www.youtube.com/watch?v=doqYOlcEAZM
I don't know any way to generate EDMX model besides the "Update Model from database" approach. However, from my own experience, if your model is too big, you have 2 options:
Split your current model into several parts (Microsoft recommends 50 entities per model); or
Use Code-First instead of EDMX
Hope it helps!

Upgrading Entity Framework

I have a Data Access Layer solution built in Visual Studio 2010. It uses Entity Data Model (.edmx files) to create object models of the data.
It is built with .Net 3.5 framework so I assume this is also version 3.5 of Entity Framework?
We use a number of TVFs to return datasets and unfortunately EF 3.5 does not provide access to TVFs. So we have has to build tsql views that call those TVFs.
Is it possible to upgrade this solution to EF 6 and use TVFs? What are the steps involved?
Microsoft has release a guide to do. You find it here:
https://msdn.microsoft.com/en-us/data/upgradeef6.aspx
It involves getting the latest assemblies and do some modifications in order to run. It seems upgrading from an older version is a little harder than from a new version.

How to upgrade OpenERP 5.0 to 6.0

I have an OpenERP 5.0 installation with a few custom modules, that I wish to upgrade to OpenERP 6.0.
I have some experience with this kind of sofware and I have inspected OpenERP. Sadly, I don't have actual experience with OpenERP, and I like to ask for some help in order to avoid mistakes. When researching this, I found there are several strategies (ETL processes, data-upgrade modules)... I assume I'll need to review all custom modules.
What are the guidelines or best practice in order to upgrade an OpenERP 5.0 installation to 6.0?
We're still planning our migration from 5.0 to 6.0, so I don't have any personal experience with the process. We are planning to tackle the work ourselves, but we've done a lot of custom development, so we're pretty comfortable with the OpenERP code. If I were inheriting the system from someone else as it sounds like you are, I would be very tempted by the support contract that includes doing migrations for you.
In addition to the paid service, there also appears to be an open-source tool available for running data migrations. It is also discussed in several forum posts. (There really are a lot.)
Our tentative plans are:
Try out the migration tool for a demo database from plain 5.0 to plain 6.1.
Migrate the code for our custom modules to 6.1, following the Pragtech guidelines.
Extend the migration tool's configuration to cover our custom modules and any others that weren't included with the tool.
Run the migration on our full database into a sandbox and test the heck out of it.
Launch and celebrate!
Update:
We've started our migration process, and we're using OpenUpgrade instead of the Domsense tool. We never really looked at the Domsense tool, so I can't say which is better. I'm very happy with OpenUpgrade so far.
In general, I've found version 6.1 much easier to customize than 5.0 was. So far, I haven't had to change any core modules. For example, most places where a core module inserts a record, it calls a helper method to prepare the data. If you add a new column that you want to be populated, you can just override that helper method. For example, we added a grouping field to several tables and then wanted to copy it from sales order line to stock move. We overrode the sale module's version of sale_order._prepare_order_line_move() with our own version.
I posted a separate question about customizing reports.
The down side is that every customized feature we try to migrate requires some change. So far there has always been a change in the core module that somehow breaks our customization. Either a field name changed, or the screen layout changed, or the whole model name changed. You can usually figure out how to fix it, but everything takes time.
The best approach is to contract an OpenERP Enterprise. Migrating is quite complex and OpenERP can do the job for you. It's a fixed price for unlimited bugfixes and migrations: http://www.openerp.com/catalog/146

Installed Entity Framework 4.2 via Nuget but everything seems to remain the same?

I've installed EFv4.2 via Nuget but I still don't see "DbContext generator" T4 template in EDMX model, only "Entity object generator" and "Self-tracking generator" are available. It seems that there is nothing changed.
Am I missing something ? Do I need to install EFv4.1 first ?
There are no new features. Only bug fixes.
EF 4.2 = Bug Fixes + Semantic Versioning
When we released ‘EF 4.1
Update 1’ we introduced a bug that affects third party EF providers
using a generic class for their provider factory implementation,
things such as WrappingProviderFactory. We missed this
during our testing and it was reported by some of our provider writers
after we had shipped. If you hit this bug you will get a
FileLoadException stating “The given assembly name or codebase was
invalid”. This bug is blocking some third party providers from working
with ‘EF 4.1 Update 1’ and the only workaround for folks using an
affected provider is to ask them to remain on EF 4.1. Third party
provider writers then identified some areas in EF where it was hard to
get EF to work with their providers, so we decided to address these
issues in the EF 4.2 release. These provider related changes will be
the only changes between ‘EF 4.1 Update 1’ and ‘EF 4.2’.
Obviously a single bug fix wouldn’t normally warrant bumping the minor
version, but we also wanted to take the opportunity to get onto the
semantic versioning path rather than calling the release ‘EF 4.1
Update 2’.
Extracted from ADO.NET Team Blog
Edit
The templates for using the DbContext API with Model First and
Database First are now available under the “Online Templates” tab when
“Right-Click –> Add Code Generation Item…” is selected on the EF
Designer.