Entity Framework Issues

I’ve come across two issues with the Entity Framework, one that effects any language and one just for VB.NET

It’s quite simple, the Entity Framework generates edmx files, however that Inherits Global.System.Data.Objects.DataClasses.EntityObject, which means when you create your Partial class you can not Inherit from your own base class.

The second issue is related to VB.NET, as if you are intending to use Dependence Injection or IoC you need to have an Interface defined and to implement an Interface in VB.NET you must add Implements after each Property and Method, which you can not do as the framework generates it’s own code.

I’ve attached both C# and VB.NET examples, none of which compile

Entity Framework Issues.zip (42.58 kb)

HTTP Sniffer

Why can I never seem to remember the name of software I have used before?  Perhaps that is one reason why I try to keep my blog up to date, as I use it as a brain dump of tasks I have been working on, so when my memory fails me I can also revert to my Blog and perform a search or look at the archive and find what I as working on say 2 years ago.  I know softare moves on, but I always find some software no matter how old it is, just can’t be beaten.

One piece of software that I always go back to is Fiddler, HTTP Debugging Proxy which logs all HTTP traffic between your computer and the Internet. Fiddler allows you to inspect all HTTP Traffic, set breakpoints, and “fiddle” with incoming or outgoing data. Fiddler includes a powerful event-based scripting subsystem, and can be extended using any .NET language.

Of course if you are using Visual Studio and the in built web server, which works without going through the Proxy, at it is running locally.

IE7 and the .NET Framework are hardcoded not to send requests for Localhost through any proxies, and as a proxy, Fiddler will not receive such traffic.  Here is a snippet from fiddler web site which works very well.

The workaround is to use your machine name as the hostname instead of Localhost or 127.0.0.1. So, for instance, rather than hitting http://localhost:8081/mytestpage/, instead visit http://machinename:8081/mytestpage/. 

…Or, if you’re using Fiddler v2.1.8 or later, just use http://ipv4.fiddler to hit localhost on the IPv4 adapter, or use http://ipv6.fiddler to hit localhost on the IPv6 adapter.  This works especially well with the Visual Studio test webserver (codename: Cassini) because the test server only listens on the IPv4 loopback adapter.

Lastly, you could Customize your Rules file like so:

static function OnBeforeRequest(oSession:Fiddler.Session){

  if (oSession.HostnameIs(“MYAPP”)) { oSession.host = “127.0.0.1:8081”; }

}

…and then just hit http://myapp, which will act as an alias for 127.0.0.1:8081.