NHibernate – Get Thou Out Of My Database
There are evil people in this world, and some of them want access to my database. Unfortunately, they are often part of that nasty integration team and they try to integrate directly into my database. I tried beating them with clubs and lobbing arguments about letting other people mess with my implementation details, but they have been persistent. That is when I reached out to a technological solution for the problem.
I want to emphasize that this is the nuclear option and you want to really consider it before going that route.
We are going to use NHibernate to do that, naturally. Here is how:
Which results in the following schema:
create table [tbl_-1434067361] ( [col_287061521] INT IDENTITY NOT NULL, [col_4699698] INT not null, [col_-1966747349] NVARCHAR(255) null, [col_-649855325] NVARCHAR(255) null, [col_-649855326] NVARCHAR(255) null, [col_775690683] NVARCHAR(255) null, [col_-2127361396] NVARCHAR(255) null, [col_-1334581412] NVARCHAR(255) null, primary key ([col_287061521]) )
To make sure that we follow procedure, we are even using the naming convention of the organization! Lovely, isn’t it? It is obvious that this is my people table, right?
All arguments against this schema can be answered using: “It is more secured”.
It might be the nuclear option, but it tend to work :-)
Nitpicker corner: No, I don’t suggest you would do this, that is why the code is an image. This is just an example of how to programmatically modify the configuration and mapping. I only used it once, during a demo to the integration people, to get them to leave my DB alone. If you push something like that for production you should probably be shot.