I take it you've read this http://msdn.microsoft.com/en-us/library/ee382822.aspx and this http://msdn.microsoft.com/en-us/library/ee382820.aspx.

I'd be inclined to scrap that database and do it properly. Having columns called "SomethingNumber" one of which is a Guid and the other nvarchar(6) is so seriously screwed up as to be virtually unworkable. It is certainly a huge barrier to understanding and so to the maintainability of code.

If it says its a "number" it should be a number, not a code or a GUID and leave you to guess which one.