Not Static?

Jul 7, 2009 at 9:55 PM

It's a minor thing, but why aren't the Check and Argument classes static? They have an internal constructor that is only used by the test fixture (without assignment, pointless). All of the methods are static. It seems bizarre to me that the classes themselves are not static.

Jul 7, 2009 at 10:46 PM
Edited Jul 7, 2009 at 10:48 PM

Good point
It looks like a code coming from the before C# 2.0 days where static classes did exist but only static methods
Check and Arhgument are heavly used in this project but they are never instantied so I would make them static
Once again we are missing Kazi here

By the way, I am wondering what would be the benefit of this change


Jul 9, 2009 at 3:38 PM

Sorry guys, i am but busy with my other works.

The reason it is not static that with static you cannot write extension methods. Let say with this it is possible to write:

public static void IsNotInvalidFiil(this Argument argument, string argument, string argumentName)

Hope this clarifies the issue.

Jul 9, 2009 at 7:36 PM

Thanks Kazi
Good to know you are around

Jul 9, 2009 at 10:18 PM

There are no instances in the code with which to use an extension method. Adding an extension method to Argument would change the semantics of that class.

Also, avoid uninstantiated internal classes:

Jul 11, 2009 at 2:41 AM

You making a point here @KodefuGuru. But maybe @kazimanzurrashid has something in mind for futrue during the design.

Myself if later we found that Check and Argument classes are not supposed to be instantiated, then we should convert them to statics

Thank you guys for going deep in the code, I would love if someone goes deep in EF code too :o)

Jul 11, 2009 at 8:50 AM

I did not really spent much time on EF because, for me, there are so many things to tame in this project
On the other side, I am reading your blog and I thought that EF 4.0 is coming soon you are certainly working on the update

At one stage, for my personal learning cursus, I thought writing a layer using VistaDB.
I gave up when I saw that VistaDB are working on EF and Linq2Sql providers
My idea is is to use VistaDb in my project so I will spend more time on EF it when I move to VistaDb

I do believe that your work is not only a great adding to this project but a fondamental one



Jul 12, 2009 at 9:54 AM

Regarding VistaDB, I am waiting for the release of their v 4.x Beta in order to give it a test on EF.
Sadly they will only support EF in commercial edition and not in express edition.

EF 4.0, yes I really want to free sometime for the whole VS.NET 2010 for KiGG. I need to discuss this with Kazi, maybe we will need to branch code or make
another related project.

Thank you guys again.

Jul 13, 2009 at 5:35 PM

I've only been looking at the release version of KiGG lately since it's what I use. I've been working on some automation for myself, but if you'd like me to go deep in the EF I'll take a look.

Jul 13, 2009 at 9:25 PM

@kodefuguru yes sure, I would like someone to go deep in to EF for KiGG! I need feedback and suggestions. I am worried about performance for example. So comments and suggestions will be valuable.

Before I add support to MySQL, I used to generate views automatically as part of pre-build events. Now I take off, but I should add few performance hints on project wiki such as recommendation to generate views before deploy EF for KiGG.

Suggestions and hints or anything will be helpful.

Cheers guys

Jul 14, 2009 at 8:13 AM

How big the database you used for testing performances?
I really thought that performance is not an issue here
That's why I was thinking about VistaDB
Regarding this last one, I do believe if you talk to VistaDB  team about Kigg project, they will give you a full licence

This is a very good window for their product
VistaDb owner is also a guy very involved in .Net technology and I am quite sure he is aware of this project


Jul 14, 2009 at 9:39 AM

I contacted VistaDB and they said they will make the a public beta for testing.
Not sure if they can provide us with non Redistributable license for testing EF on VistaDB through KiGG. But will ask them for that.
Devart provided us with professional license to support Entity Framework on MySQL and SQLite. I liked their provider so much very good one.
That is why made support for both our modified version of Connector/net (free) and Devart dotconnect for MySQL (commercial)

Regarding performance, I am worried about EF performance itself. But it is supposed to be fine with this scale of applications.