** PLEASE READ THESE REQUIREMENTS, AND FAMILIARIZE YOURSELF WITH THE IQTOOLKIT BEFORE APPLYING FOR THIS POSITION! **
We need a .NET Programmer to implement the IQToolkit (http://iqtoolkit.codeplex.com/)on our set of provided test classes. The implementation will provide LINQ query capability on our database which is represented by our classes. The purpose is to integrate the changes into our custom ORM tool, so this is just a sample.
We will provide the SQL Server 2008 database file and the set of classes. The developer should use their own judgment and skills to implement the IQToolkit in the best possible manner, following industry standards and practices. We are looking for the easiest and most effective implementation. Please be aware there is not a lot of documentation on the IQToolkit, however, it is open source and you may review the code.
When completed, the developer should be able to execute LINQ based queries on the database using the modified classes provided. It should utilize the SQL Server client query language writer, and implement the core components of the toolkit, including Selects, Nested Queries, Joins, Ordering, Grouping, and Aggregates (All part of the IQToolkit). Must also properly implement the attribute based mapping feature.
>> TESTING: Please test your own code using LINQ based queries of the various types above, such as compound WHERE statements, Order By, Joins, and Grouping. The examples below are just examples of the expected acceptable behavior after implemented, this is not the full set of test code.
>>TIMEFRAME: The work must be completed within 7 days of an accepted contract. Please submit your best offer, based on the described workload, to complete the job in 7 days.
Class files and database backup file attached. Test classes are written in VB.NET, but the user may choose to convert and implement in C#. Should be compiled for .NET Framework 4.0. (May not have been configured in Project File)
When setting up your environment, set the connection string to the database in the IQConnectionManager.vb class.
Customer.Where(Function(o) o.Name = bob)
Products.Where(Function(o) o.UnitPrice > 20).OrderBy(Function(o) o.ProductID)
Customer.Where(o => o.Name == “bob”);
Products.Where(o => o.UnitPrice > 20);
>>MORE INFO ON IQTOOLKIT
http://blogs.msdn.com/b/mattwar/archive/2008/11/18/linq-links.aspx --Blog describing in great detail the steps to create the IQToolkit, and the underlying IQueryable and LINQ interfaces.
http://iqtoolkit.codeplex.com/ -- Official source code for the IQToolkit
http://equinox.codeplex.com/ -- Successful implementation of the IQToolkit
Skills: visual-basic.net, .net