Vermont IT Job: .NET programmer – Telecommute FROM the Burlington VT area

Junior Software Engineer / Product Support

Telecommute/Virtual Team – Burlington, VT area

 

Excellent compensation package including 401k plan and insurance benefits.  CONIX Systems, Inc. designs, develops and maintains software that creates new workflow options and improves operational efficiency and customer service for major banks and service providers.

 

This virtual team (home-based) telecommute position will be responsible for supporting and maintaining solutions for Windows and Web-based environments using the Microsoft.NET Framework (C#), Visual C++ and SQL Server 2000/2005.  This individual will work with existing client support staff in handling customer support issues related to these technologies. The ideal candidate will also train the existing client support staff to increase their technical expertise. This is a prime opportunity for advancement within the com­pany.

 

Required skills/experience include:  Excellent communication skills, both written and verbal; knowledge of .NET (2.0 preferred), SQL Server 2000/2005; clear understanding of object oriented design and programming; associate’s degree in Computer Science or related field; access to a cable or DSL broadband ISP (no satellite); and resides in the Burlington, VT area (for periodic meetings).  CONIX supports its technical staff with a complete home office/development environment including furniture, computers, printers, phones and internet connectivity.  All engineers within CONIX telecommute from home-based offices with VPN access to corporate servers and mainframes.

 

Headquartered in Manchester, Vermont, CONIX offers an excellent compensation package and the opportunity to work in an environment where your contributions are recognized.  Please send resumes to JOBS@conix.com.

 

CONIX is an Equal Opportunity Employer.

Choosing LINQ to Entities vs Entity SQL vs. EntityClient

The title is a bit of a misnomer and not comparing apples to apples. To do it right would have been longer. The real comparison is

“Choosing LINQ to Entities vs. Entity SQL+Object Services vs. Entity SQL+EntityClient”

When doing an intro session on entity Framework last night for GUVSM in Montreal, even though it’s something like the 7th time I’ve done this session (and every single presentation has been totally unique from any of the others I have done –  shaped by the questions asked), I think I finally figured out how I want to express this option of which query method you want to use. Even within those three options, there are more variations happening because they return different payloads and this can additionally be affected by whether or not you do projections (e.g. select firstname, lastname, age  instead of just select the whole object).

1) For me, Linq to Entities will always be the first query method I go for. I’m getting more and more comfy with LINQ since I’ve been using it with objects, SQL, DataSets and XML. Having all of that intellisense support is dreamy. Whether I use operators (From c in context.Customers Where c.CompanyName=”Acme Builders” Select c) or method operators (context.Customers.Where(Function(c) c.CompanyName=”Acme Builders”) it just makes my life easy! I’ve been using LINQ to Entities almost exclusively unless I have a reason to go to the next level.

LINQ to Entities still depends on an ObjectContext (and therefore uses Object Services) so you get all of the goodies that go along with that such as ChangeTracking, etc.

LINQ to Entities returns objects.

2) The next level is using EntitySQL with Object Services. That would be:

objectcontext.CreateQuery(Of Customer)(“Select VALUE c from Customer as c WHERE c.CompanyName=’Acme Builders'”)

The main reason I would want to use this is because Entity SQL is a very robust query syntax and I can express queries that LINQ (which is strongly typed) may not enable me to write. I want to be clear about my use of the word “dynamic” since I just mean that I can build the strings. You can also use parameters and as in most cases, should be careful about where and when you use dynamic queries (“select value c from customer where c.CompanName=” & myvariable).

As an aside, I’ve discovered that writing custom operators in Astoria, while possible with LINQ to Entities, is better in teh long run if you write them with EntitySQL. That is a conclusion made using the prototype so this may change down the road.

This method can return objects or dbDataRecords, depending on the query.

3) The method I see myself using most infrequently is EntitySQL with EntityClient. EntityClient is a db provider, similar to SQLClient or OLEDBClient. You create connections (EntityConnections) and commands (EntityCommands), set the command’s string (an Entity SQL query) and execute as you would other clients. The big difference between this and the other Client Providers is that you are connecting to your entity data model, not to a database.

There are two reasons to use EntityClient.

The first is if you do not want to return objects, but just streamed data, because EntityClient always returns a dbDataReader. This also means it’s a great candidate for helping you use an Entity Data Model in existing applications.

The other scenario (which is currently theoretical in my mind and has not be tested yet) where I can see myself wanting entityClient is if I have a data layer that needs to implement the Provider Factory class so that I can select my provider at runtime.

I’m ignoring another possible reason which is that EntityClient provides a familiar way of accessing data because it feels similar to using the other client providers. But because you lose your objects and all of the benefits of the objectContext, I don’t think the benefit of “smaller learning curve” is a worthy trade-off.

“The proof is in the pudding,” as they say and we saw the pudding last night at the GUVSM presentation because I have already gotten out of the swing of composing Entity SQL queries, while I’m getting to be a champ with LINQ to Entities.

Introducing ADO.NET Entity Framework Article in CoDe Mag Nov/Dec

While this is not online yet, I do have the latest issue of CoDe Magazine in my hands which has (among some other great articles!) an intro article I have written on Entity Framework.

I originally wrote the article using VS2008 Beta1 and Entity Framework beta1, then (as it always seems to happen) the Beta 2 bits of EF were released after the article was finished and with only a few days before the “going to print” deadline. But I was able to rerun all of my tests, through and make sure the content, the code and the screenshots were current, though I wasn’t able to add in too much info about the new designer. You’ll understand when you see how lengthy the article is.

I also wrote the MVP corner for this issue and finally got a chance to write about something that’s been on my mind for a while – and I think it’s kinda funny. I was a little surprised they let me write this one! 🙂

Unit testing LINQ to SQL and Entity Framework

Even though I’m still a Unit Testing luddite, I’ve been looking around to see how people are getting LINQ to SQL and Entity Framework to work in their Unit Testing scenarios even though neither technology is really built to test against well.

First, I found this excellent post by Ian Cooper that explained not just unit testing, but what makes code apprpriate for unit testing. This was really enlightening for this newbie  (that is, moi) and gave me a much better understanding of why the TDD guys have been so frustrated wtih Entity Framework – although it is absolutely evolving in a way that will satisify them (more likely V2, then V1 though).

Ian also was able to find a way to do Unit Testing with LINQ to SQL.

Then I headed back over to Danny Simmons’ blog for this recent post on some key tweaks to make to the EDM (and codegen’ed classes (and now my brain knows enough to say “uh oh… codegen…that’s a problem for Unit Testing!”) work with Unit Testing.

Then I started playing with VS2008 to get a feel for how the tools enable me to do unit testing when have zero experience. I had give in and read through documentation (I know , how lame and lazy am I?) after I spent about 1/2 hour searching for a screencast or webcast on the topic. But I got some of the basics and figured out debugging, but still have some definite quandries! (Such as why do I get a failure when the expected value is 10 and the actual value is 11, but I get an inconclusive (rather than a pass) when the expected value is 10 and the actual value is 10?) I have a lot to learn! 🙂

I found Chris Buckett’s post on shoving EF into vS2008 Pro unit testing which helped a lot, mostly because he already understands unit testing and therefore understands what challenges he needs to solve when working with entity framework objects. The biggest issue about unit testing data access modules is that you don’t necessarily want to hit the database each time. to this point, Chris is trying to create a mock provider to emulate the database calls made by Entity Framework. Another issue is that you need classes that are instantiated without parameters. So while Danny tells us the simple trick for getting regular classes to fit into unit testing (in the above linked post), Chris is struggling with how to create an ObjectQuery return without instantiating an ObjectContext because the latter requires parameters. (Surely, I’ve gotten some bit of my interpretation wrong in a way that is making you TDD pro’s cringe, but I’m trying! :-))

I am happy to sit by the sidelines while he comes up with the model. (Subscribed)

Sad Soap Opera of the tiny town of my alma mater is on CNN.com’s home page today

I am a graduate of a college that I will love until the day I die, Well College. I went to Wells almost begrudgingly, with my heart set on studying film at a giant party school: Syracuse University. Being at a tiny 500 student school with no boys around seemed like hell for an 18 year old. During my first semester I begged my parents to let me transfer, but they made me promise to see the year out.

And I fell in love with Wells and spent my entire four years there, learning, learning who I was and not worrying about how I appear or sound to possible love-interests in my classes. It’s amazing to have all of that stripped away so that you can just keep your eye on the prize – getting a great education. I allude to this in my “Proud to be a Geekette” essay on OReillyNet’s Women in Tech series.

Wells is in a tiny little town in New York State on huge Cayuga Lake (one of the finger lakes) half way up the lake from Cornell (in Ithaca). Many former Wells students stayed in Aurora after graduating. Most continue to have strong ties in one way or another. Mine is through the incredible friendships that I have maintained with a number of women that I graduated with and are still the absolutely dearest friends in my life.

One former grad (from before my time) went on to create the American Doll company and in the 90’s sold it to Mattel for $700 million dollars. She decided to use a lot of her new-found fortune to help the college and to help the town. But it was soon apparent to many that her help came at a cost. She turned the town into a big doll house, which created a moral conundrum for so many and a rift through the residents of the town. I haven’t been back since my 5th reunion, but have been thinking that I’ll be there for the one coming in 2008. (my TWENTY-5th! Egad!). I wonder if I’ll mourn the old Fargo, where I spent probably more evenings over those 4 years than I would like to admit. Oh, the memories! 😉

While my suspicion is that there is a Wells alum working at CNN, it must be a slow news day because this is the headline story on CNN.com this morning. In reality, the article comes from the AP Newswire and was written by Helen O’Neill.

First Frost

Many of us in Northern Vermont have been living the fantasy of a never ending summer. I was still picking beans and tomatoes from my garden earlier this week. This morning when I woke up the thermomter registered 32.9 and said it had been down to 32.7 overnight. There was frost on the ground. I haven’t checked the garden. It certainly wasn’t a hard frost so we’ll see.

Now of course it is a glorious (though chilly) day with sunshine, blue skies and fall color and nearing 50 degrees. I’m thinking about a bike ride. I’ll have to see if my warm weather cycling clothes still fit.:-)

Get Ready for the MSDN Tour, Astoria and Entity Framework

The MSDN Events Tour for Q4 runs from Oct 16 – Dec 31 and hits 51 cities (including Burlington, VT!). One of the sessions is about Astoria* and it is called “A New Paradigm for Data Development with Web Based Data Services”.

Astoria sits on top of Entity Framework, and the session will also give a brief intro to Entity Framework, which thrills me to no end! I can only get to so many user groups to spread the love (which I’ll be doing next Monday, Oct 15th in Montreal by the way!).

If you are interested in preparing yourself better for Astoria by already having a clue about Entity Framework, you can look for my upcoming article in the Nov/Dec issue of CoDe Magazine called “Introducing Entity Framework”.

There are also a bunch of great resources you can keep an eye on:

My Data Access category on this blog

Roger Jennings blog

Mike Taulty’s blog

ADO.NET Team blog

And there are a number of team members writing about Entity Framework. I don’t even have a comprehensive list but I can highly recommend Danny Simmons blog.

For Astoria, check the Astoria team blog.

*my recent spate of astoria posts:

  • What the heck is Astoria?
  • QuickStart For Building An Astoria Data Service
  • More Fun With Astoria: Random Queries In The Browser
  • Astoria is sick (as in SLICK) when it comes to DML!
  • Trying to see what Astoria messages look like in the pipe
  • Custom Operations and Hiding EntitiesInAstoria