NHibernate Teamcity build agent is currently a Windows Server 2012 R2. Are 
you meaning Sql Server 2016 can only run on Windows 10/Server 2016? There 
is already a SQL server 2016 on that server.

According 
to 
https://docs.microsoft.com/en-us/sql/sql-server/install/hardware-and-software-requirements-for-installing-sql-server,
 
it runs under Windows 8 and Server 2012. So not on a Windows 7, but not 
only Windows10+. Indeed they have released it for all OS still in 
mainstream support (8/2012+), but not for those in extended support 
(7/2008, ending in 2020).

Anyway, that should not prevent adding feature targeting a server not 
testable by some developers: NHibernate test suit can be configured by each 
developer to target what they have, and then it will ignore incompatible 
feature tests.

About supporting JSON querying with an API abstracting away databases 
specificity, of course it would be great. But since each db seem to go its 
own path without much standardization, it may require too much effort. I 
see that a bit like XML support, NHibernate do not provide a way to issue 
"for xml" queries likely because this has to much discrepancies from a 
database to another.

Now for JSON that seems way more simpler than XML, so why not trying anyway.

For me, there are two distinct areas to tackle:

   - How NHibernate map a Json data on an entity?
   I think NHibernate should let the user map it as a plain string if he 
   wants to. This may requires a JsonAsStringType for database defining a 
   column as Json, or adapting the string type for handling those Json type. 
   (May some data provider already provide deserialized values? If yes, it 
   would have to serialize them back...)
   And Nhibernate should provide a type for mapping it as a poco (which 
   class would be specified along the mapping otherwise inferred from the 
   entity property).
   Having some dynamic mapping option would be great to. Maybe through 
   dictionaries, for avoiding introducing a dependency on Json.Net or the not 
   yet released System.Json on the entities (I only find obsolete Silverlight 
   references for it or a pre-release Microsoft package).
   Of course, depending on how the data provider handles Json (does it 
   handle serialization/deserialization or does it handle only already 
   serialized Json?), NHibernate will still need to use a Json 
   deserializer/serializer, and preferably a fast one like Json.Net. But this 
   could be done through some Json serialization/deserialization provider, 
   allowing the user to customize this.
   Supporting the SQL Server way means here we would also support any 
   database even if not officially supporting Json.
   - How NHibernate query Json data directly in the db? Here explicit 
   database support is of course mandatory. And maybe the discrepancies 
   between db will cause some difficulties.
   Maybe should we first start by providing two basic HQL function taking 
   the json path as a string and mapping to json_value/json_query (or the 
   unique function for db having one for all). And supply two extensions for 
   calling them with Linq.
   That would already allow a basic querying support. This suppose the json 
   path has the same syntax for all databases. Otherwise we will have to 
   choose one syntax and convert it for other databases.
   From there, maybe try if we can propose something more elaborated.
   

-- 

--- 
You received this message because you are subscribed to the Google Groups 
"nhibernate-development" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to