VS2010 .Net4
Is SubSonic still the tool of choice? Are there easier ways to accomplish the creation of a DAL with the stock tools in VS2010?
I need to convert a project that was done with Subsonic 2.03 several years ago and would like to hear opinions on the "right" way to do this.
TIA
J
SubSonic is a fine ORM, but it lacks many features that Entity Framework 4 and NHibernate have. SubSonic also isn't moving forward as quickly as EF and NH.
It is possible that SubSonic will be the best .NET ORM two years from now, but that seems highly unlikely at present.
There is no one "right" or "correct" answer when choosing a .NET ORM. NHibernate seems like the safest choice right now, while Entity Framework 4 is a good fit for companies that prefer solutions from Microsoft. SubSonic 2 & 3 will work just fine in many situations and it may be better for your project to just maintain what is already working.
If u stick on MS SQL database, i can said Subsonic is fine and easy to code. But if u need other non MS database, my suggestion is nHibernate. I just switch back to nHibernate from Subsonic.
Related
Is there a custom implementation for ASP.NET Identity 2.0 that does not use Entity Framework? I'm hoping for something that does not use a full blown ORM but something along the lines of Dapper. The reason I'm asking is because I am not using Entity Framework anywhere else in the project so I would like to stay away from it if possible.
I know I could work on my own implementation but I do not have the extra time to spend on that.
Frustration and lack of other options forced me to do it myself. Here is the project page on GitHub: https://github.com/ryanrodemoyer/AltProvidersForAspNetIdentity2. It's a ways off from a tested usable project but it's a starting point.
Long time lurker, first time questioner here :)
I have been looking into our company's next software system architecture. We have been using CSLA.net, to some extent, as our business object framework and are thinking of building our new architecture around it. CSLA.net has support for the platforms mentioned in the title and we are looking for mvvm framework that would work well with it.
At the moment we only support windows environments but are also looking to support at least Android and iOS (also mono in general is under consideration). We are looking to share as much of the code as possible between the platforms and MvvmCross seems like really nice piece of mvvm (+) framework, especially in that context. I have watched few n+1 videos and what I have seen so far has been very impressive. I also like the Stuart's style of introducing the framework and concepts around it.
Has anyone tried to build a cross platform application that uses both of these frameworks (CSLA.net and MvvmCross)? If yes, what have been your experiences like? Also if Stuart could comment on the issue of how to merg the viewmodels of the two frameworks. I remember Rocky (Rockford Lhotka) recommending, as a general tip when working with mvvm frameworks, to inherit CSLA.net viewmodelbase(not viewmodel) and implement also mvvm framework's requirements into that class. You can find source of the viewmodelbase from https://github.com/MarimerLLC/csla/blob/master/Source/Csla.Xaml/ViewModelBase.cs.
Any input would be much appreciated.
Regards,
Harri
ps. I think, that this would make a great n+ video. Wouldn't it ;)
I've personally never used CSLA, but I have talked with it's original author, Rocky, both by email and in person.
CSLA presents itself as a business model object layer and that it can very successfully interoperate with independent Mvvm frameworks - see Rocky's post on CSLA+Mvvm
MvvmCross provides the more application and UI level support - and leaves application authors free to choose how they write their business services and models.
Because of this, yes I think it should be possible and even straight-forward to use both of the frameworks together if you want to. To get started, it might be useful to write some prototypes - and perhaps to look at the way other integration has been done - e.g. CSLA+Caliburn integration
ps. I think, that this would make a great n+ video.
I'd much rather see this type of article from someone who understands and uses CSLA. I would encourage all members of the MvvmCross community to contribute their own blog posts, articles, videos and github samples.
One caveat to this advice: I don't know if CSLA support Portable Class Libraries - if it doesn't then you'll probably need to use file-linking rather than PCLs in your app
Yes, you can use a multitude of MVVM frameworks; I've used CaliburnMicro and our own custom MVVM with success. If you haven't checked out Rocky's eBook series, you should definitely do so. One of the big gotchas is the limitations on reflection in Silverlight, hence also in WP8 and WinRT, so some reading up on that is well-advised.
Regarding Portable Class Libraries, you can't those for CSLA business objects (they require more stuff than is available in PCLs), so you do have to do the project linking. Typically, write the complete class in the .NET libary w/ pre-compiler directives, such as
#if !SILVERLIGHT
around code that can't be complied for Silverlight/WP8. I do use PCLs for some basic stuff, like enums and constants, but not for the business classes.
Xamarin have just released some updates that mean the latest framework 4.5 with async features can shortly be implemented...
What is the accepted "portlet" framework for .Net these days? By this, I mean the whole "add little widgets to a page and move them around" type of thing.
I know that Web Parts were big at one time, but is this architecture still the "accepted" method in the .Net world? Is this still what Sharepoint uses? (And should that matter?)
I need to use portlet-type things for a client project, and I don't want to re-invent the wheel. I'd like to use the tool that have the most momentum and community support behind it?
Yes, SharePoint still uses web parts. That being said, there are many ways of creating SharePoint web parts.
You can't really go wrong with ASP.NET User Controls. User Controls give you a lot of freedom, are still very "accepted" and supported (and that won't stop anytime soon). What's more, you will be able to re-use the control everywhere (SharePoint or not) with little refactoring which is a big plus in my book.
You can read this article by Scott Gu for more details : http://weblogs.asp.net/scottgu/archive/2006/09/02/Writing-Custom-Web-Parts-for-SharePoint-2007.aspx
Is it possible to use Subsonic with VistaDB? I see it as a supported database for Subsonic 3 on the project website, But can't find a T4 template for it?
Will I need to use SR or I can use AR?
Vikas
Although the underlying architecture of SubSonic (System.Data.Common) supports VistaDB there aren't currently any templates for it. So although in theory it's supported it won't be supported in practice until someone creates those templates.
I wrote a vistadb provider for subsonic 2.x that was never made part of the official project. The main reason it's not in subsonic is that it's not freely available, the required dll for it is very encumbered with licensing. So no one wanted the hassle. You could take this provider code and use it to prepare a template, or just copy the sql server template, and make the required edits for reading the schema. I don't think that vistadb will ever be an official part of subsonic 3 since the vistadb dll is not freely available even for testing. I dropped vistadb because of performance issues.
(Warning: This may be a stupid question...)
I am am one of those who are not willing to move to SubSonic 3.0. I am currently using a customized fork of SubSonic 1.(?). I want to migrate to version 2 for many reasons, and I have been successfully been playing with Subcommander. Cool stuff! Here's my question...
When I generate the DAL for 2 databases, when I put those DAL files into the same project, with SubSonic 2.2 allow me to connect to both of them in the same project/application at the same time?
Yes you can, but they will need to be in separate namespaces (I think). I've done it and I found that giving each its own project and namespace was the easiest to manage - especially with subcommander since each project can have its own config file.
You may also want to take a look at the SubStage application. I found it great for discovering the myriad of settings available with SubSonic code generation.
Multiple database support was first introduced with SubSonic 2.0 Beta 1. It is hard to find samples online, but the Starter Site project is still a good reference as it includes two database references. You can find the source on Google Code.