What are all these DLLs in the Castle ActiveRecord 3.0 beta? - castle-activerecord

This is a list of the DLLs in the Castle ActiveRecord 3.0 beta. Does anyone know what all these do? Which ones are required for a new project, and which ones are optional?
Antlr3.Runtime.dll
Castle.ActiveRecord.dll
Castle.ActiveRecord.Web.dll
Castle.Components.Validator.dll
Castle.Core.dll
Iesi.Collections.dll
log4net.dll
NHibernate.ByteCode.Castle.dll
NHibernate.dll
NHibernate.Search.dll
Remotion.Data.Linq.dll

Antlr3.Runtime.dll: used for HQL parsing in NHibernate
Remotion.Data.Linq.dll: used as a base for the NHibernate Linq implementation.
Iesi.Collections.dll implements ISet as always
log4net.dll: logging as always
NHibernate.Search.dll: integrates NHibernate with Lucene.net
Castle.Components.Validator.dll: underlying validation implementation of ActiveRecord
Castle.Core.dll: common stuff and DynamicProxy
Castle.ActiveRecord.Web.dll: implements web session scopes. This was decoupled from Castle.ActiveRecord.dll to allow for framework client profiles.
NHibernate.ByteCode.Castle.dll: NHibernate proxy implementation that uses DynamicProxy.

Related

Is it possible to have EF Core Migrations with separate class library (Not in same solution)

I am in process of making the c# .NET standard library which eventually should be published on nuget.
Since library encapsulates communication with database, I wanted to use EF core (Code First) to setup database model.
Users of the library should be able to generate database model for arbitrary database(i.e. user should specify connection string) from code, which is contained in library, i.e. migrations should be located in the library.
My concern is: Is this even supported scenario by EF core.
So far browsing the the internet resulted with no info about this scenario.
My questions are:
Is this scenario somehow supported in EF core.
If not then what are the ways to implement library which contains database model(either in the form of SQL script or migration code), user of the library should be able to specify connection string and generate database model.

Versioning between App API and Database

I have the following scenario ...
Two versions of the application that accesses an API, running version 1.0 and 1.1. The idea is to go back to version 1.0 if the 1.1 version presents problems.The API should be versioned for each of these versions too
I would like to know the solutions that are being used nowadays to make this process easily and in a safe way.
Also, supposing we are using entity framework, how to solve the migration problem, if version 1.1 of the API has database changes?
I use ASP.NET Web API and SQL Database, both in Azure.

Building future-proof OData service with Entity Framework context for both desktop and asp

We are developing a WCF REST service which will be consumed by a desktop WPF application and will also be a source of data for the ASP MVC4 website.
So far I've run into countless technical issues and most importantly I am worried about the future of the Microsoft.OData.EntityFrameworkProvider. (Please check blog comments here).
The issues include:
There is no easy way (without using DTO) to add properties on the service entities which will be passed through OData but won't be stored in the database Actually there is an easy way:
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.ComplexType<CustomType>();
}
There is no easy way (without parsing XML or using DTO) to store properties on client entities without them being sent to the service (v5.6.0). The "hard" way is to hook into RequestPipeline and ResponsePipeline:
Configurations.ResponsePipeline.OnEntryEnded(OnReadingEntry);
Configurations.RequestPipeline.OnEntryEnding(OnWritingEntry);
using DTO is cumbersome to say at least, automapper helps with retrieving of IQueryable results but updating entities requires full implementation of IUpdateable, which actually works on DTO but is required to update entities so implementation of it is very tricky if even possible (I searched for existing solutions and these mostly cover in memory data source so I implemented a working solution but without links, I can dig it from source control if anybody is interested). Tested on v5.6.0.
Client entity containing dynamic field will crash when retrieved from a service (checked on 5.6.1)
accessing DbContext from EntityFrameworkDataServiceProvider requires a hack
This package has not been updated for almost half a year and this fact itself is very worrying.
My question is what Microsoft or open source alternatives to Microsoft.OData.EntityFrameworkProvider link between EF context and a client are suitable to replace this supposedly dead library? The critical requirement for such a link would be to have a tracking client-side context and entity framework 5 or 6 compatible service.
Is Microsoft.AspNet.WebApi.OData a good solution also for desktop applications?
Are there any other Microsoft or open source projects have similar capabilities?
For WCFDS update, you can refer to Future Direction of WCF DS service.
In the issues you listed, I am sure that issue 1 can be easily resolved in web api by tag [IgnoreDataMember], here.
For Issue 2 and 4, one suggestion is you can add a data layer in client, which can handle extra data model and dynamic field
Just a couple of thoughts...REST is not the same as OData...so your question is confusing. If you meant WCF Data Services, then definitely go with the new WebApi. As Maya's link shows, The WCF DS team announced they are basically done.
However, your client is usually agnostic of what technology you are using for odata and its data layer...its a disconnected architecture. So if you have a mapping impedence on the server side, that is one issue, but which client is consuming the odata ought to be irrelevant. But likely I did not understand your stated problem correctly...Do you mean that you own both the client and server and want to share the entity class definitions? If you are that tightly coupled, you can add service resources customized for the client, and others customized for your MVC app.
For some practical workaround, WCF DS offers query interceptors, that let you manipulate outgoing data. The new WebApi is basically works from controllers and gives you full control over intercepting the requests and manipulating what needs to be done with the data.
Finally, just a suggestion for your desktop client...Lightswitch works wonders with oData...point and click...it generates your proxy and client model on the fly and gives you huge control over the client and what it does with the responses from the server.

ServiceStack ORMLite Fluent Configuration

I am looking to create a new project using ServiceStacks OrmLite. I have used EntityFramework in the past and I prefer the use of the fluent api for mapping over the invasive attributes.
Does OrmLite have an equivalent api or am I forced to use the attributes?
Nope, Fluent Configuration isn't supported in OrmLite just attributed model-first POCOs.
It's something we're looking at doing, but wont be available for a while.

Creating JPA from database

I know this is a duplicate question.
But even i couldn't find any tool to create JPA entity file from database source.
I used eclipse to do this. I only got DTO kind of classes with getters & setters.
Can anyone suggest some tools that create DAO files too.
TIA
You can use Telosys Tools,
an Eclipse plugin working from an existing database with customizable Velocity templates
See: https://sites.google.com/site/telosystools/
Eclipse Marketplace : http://marketplace.eclipse.org/content/telosys-tools
For JPA generation, use the JPA set of templates available on GitHub : https://github.com/telosys-tools
you can use netbeans instead of eclipse. After you create own project, you can select "JPA controller classes from entity classes" in netbeans menu. For example http://ensode.net/roller/dheffelfinger/entry/automated_dao_generation_from_jpa
Minuteproject is a generator tool and can generate JPA2 artifacts from Database.
You can instruct the generator to apply convention for your java code that do not follow your DB convention, but the mapping will be correct. (Example strip DB name prefix; table starting with ADMIN_ such as ADMIN_ENVIRONMENT are Environment (w/out Admin) as java class) For the moment there 20+ conventions that help you reshape your model to be less DB look-and-feel by more Java-OO-friendly.
If you want DAO minuteproject has a track BSLA that generate spring-integrated DAO

Resources