NHibernate Not Showing Update Queries With ShowSql Enabled?
Jan 29, 2012
I am using Visual Studio 2010 with NHibernate 3.1 and using Fluent NHibernate for mapping. It has been working well, and with the ShowSql enabled it shows all the select queries.
I have gotten to the portion of the program where I am performing some updates, but they don't show. At first I thought the updates weren't getting triggered even though i was using an explicit transaction - but the data was getting changed in the database. So - somehow, the queries are being executed, but not shown in the Output window of Visual Studio.
It turns out I was mixing two answers together. Log4Net is not needed at all to produce UPDATE statements from NHibernate in the output window.
Setting AdoNetBatchSize(0) in conjunction with ShowSQL DID resolve the problem.
Basically, I wish to fetch a filtered set of objects from the database (Oracle 9.2) based on the id property of the object PsalertsEvent. The code being executed is:
Public Overloads Function GetAll(ByVal laterThan As Long, ByVal filteredPsalertsEvents As IList) As IList Implements IPsalertsEventRepo.GetAll 'Get all psalerts events with an ID greater then the specified laterThan parameter filteredPsalertsEvents = MyBase.NHibernateSession.CreateQuery("from PsalertsEvent p where p.id > " & laterThan).List
I just read this article about the Entity Framework 4 (actually version 2).Entity Framework seems to offer a huge improvement over its first release. Thus, I have never ever used EF in any project, since I think EF is not mature enough in comparison to NHibernate.NHibernate and its current contributions of FluentNHibernate and Linq for NHibernate by Ayende RahienMy feeling is that Microsoft is solely trying to gain terrain it has lost in favor of NHibernate when the 2nd version of NHibernate came out.Nevertheless, my concerns are the followings (not in particular order):Will EF4 tend to be less XML-verbose?Will EF4 be compatible with other underlying datastore than just SQL Server?What are the greatest benefits of going with EF4 instead of FluentNHibernate or NHibernate itself.
NHibernate is a great tool, I guess everyone agrees. Due to its predecessor Hibernate, we may easily find documentions and tutorials and sample applications to get acquainted with it. This is not the case for FluentNHibernate. Particularly as per the project I'm working on right now which demands that I investigate further about NHibernate and its options (FluentNHibernate for instance) in order to document the rules of usage and the best practices of NHibernat and FluentNHibernate technology. Thus, being handcuffed with VB.NET, being a C-Style developer, I can't find some syntax equivalencies in VB.NET for the examples provided, though I made I way so far
Is there any way to check from .NET if windows update is enabled?
I want to prompt the users every time they log into my app that their computer might be at risk and give them a link to windows update website (or windows update application from control panel).
Preferably it should work on XP, Vista and Windows 7. Maybe there is a registry key or even better an API?
i have a form which once the user has entered their correct Account No they will access the jobs relating to their number. I now need to use and update query so that once I select yes in the Query handled box, after clicking the update button, this row will then be deleted from the table. Here is the code that I have so far:
Public Class Form1 Private Sub Label1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Label1.Click End Sub
I would like to ask if you can use VB.NET for NHibernate and Fluent Nhibernate?I have searched the web, but I can't seem to get a detailed or explicit statement that tells that one can use VB.NET for NHibernate and with Fluent.
Many of the samples in the NHibernate site are made in C#. That's why I was wondering if I can't use VB.NET when using NHibernate.
I have a vb.net project where I have data loaded into a datatable in a dataset and have to do approximately 20 updates that are sql like. On this project, I don't have access to sql nor does the end user want to use any type of sql, sql express etc.
My question is, is there a generic way of doing this so I can reuse it. Was wondering if a dataview could be analgous to the "WHERE CLAUSE" and some type of delegate function could be the update function.
I have a vb.net project where I have data loaded into a datatable in a dataset and have to do approximately 20 updates that are sql like. On this project, I don't have access to sql nor does the end user want to use any type of sql, sql express etc
We use an ERP program in conjuction with SQL server and lots of tables that keep track of product records customers and all these kinds of stuff. I am building a fairly simple Warehouse Inventory Application that warehouse employees will use to count and inventory stock on hand from products around the warehouse and then check if any quantity errors occur between stock on hand and logistic quantities.I have created a custom Inventory table that I would populate with records like {stock_code, Description, Quantity_remain, quantity_avail}. Those records already exist in 2 different tables in my database. The aim is that I want my program to fetch daily 10 random codes from the stck table, and records about their quantities,bringing together the "columns" that my new custom table has +2 more editable columns: inventory, date, user with a query like this:[code]
As you can imagine my custom table contains the exact same fields as the query suggests + 3 more.I use the the stck table to fetch product info like its code,description, its group_code, categ_code, and then I outer join the stck_x_th that contains records concerning quantities remaining or available asociated with each product code and the "places" those quantities reside in the warehouse.Then, store them in a datagridview control, with only one editable column -inventory- (user and date columns are auto-populated with default values), and then when the user fills out the inventory quantites, I want to save the datagrid "as it is" in my new custom table.I am creating a databound gridview control using one table adapter (which refers to the inventory table). Then I add to my table adapter using "add query" the forementioned query with a fillby method to populate the Datagrid (and therefore my Table in SQL) with the exact same values my query returned from the different tables. But whenever I try to update the table concurrency exceptions raise.It works like a charm if I enter the values in the grid cells manually, without populating the grid control with the new fillby method my self but not if I populate the grid via a query and then hit update.
I am developing an application in Vb.Net 2005 and have enabled the installation by clickonce, the update occurs before the application starts. My problem is very simple, the server that contains updates is correctly natted to be available from the outside with a public IP.
The clients who access from an external network connecting without problems, download software and updates. When local clients are connected to the same network of the server (LAN) can not download anything because they try to access the server with the ip public, and the nat does not work . We can not perform operations on the DNS server or hosts file and not even on the router.
I need to figure out if i can use ClickOnce to use more than one distribution server, primary and secondary. I'd like to set as the primary server the public address and the secondary server with internal network ip address.
I am writing a message system on my server, the xml is something like this
<xml> <entry> <sender>[code]....
my problem now i guess is 2 fold, i wish to combine the first 3 queries into a single query and place in a list or a collection or is there a way to do this with a single query that will give me my desired result?
Dim con As New OleDb.OleDbConnection Dim com2 As New OleDbCommand Dim constring As String = ConfigurationManager.ConnectionStrings("esourcecon").ConnectionString con = New OleDbConnection(constring) com2 = New OleDbCommand("UPDATE Customer SET CName = @CName, CAdd= @CAdd, CTel= @CTel, Cmob= @CMob WHERE CName='" & C1.Text & "' ", con)
[Code]...
id is an autonumber field and if i change the where string to another column then also i dont get any error and the values are still not entered
As i'm learning more and more about developing ive just got my head around creating classes and modules, i started wondering about something to do with configuration of applications where deployment is in a more diverse environment say in a company where different branches dont need access to all parts of a program, so i thought id throw the question out there in a basic sense and get some feedback. so i can go off and do some more reading and learning.
So the scenario in my head is like this.
So we have for arguments sake FrmConfig which is the master configuration form, then we have FrmMain which is the root menu our application general user interfaces with. So here based on what options are checked as enabled in FrmConfig effects what controls (like buttons/menu options) are enabled in FrmMain.
how to use nHibernate with Vb.net using all the examples online(which are in C#) to learn. Which has been fine for the basics, but now I'm trying to learn how to use QueryOver's JoinAlias, and going from C# to VB.net is difficult. I've been using this page's answer as a reference, but I'm still having trouble converting an example like that to Vb.net.
I have a problem with the combox its only displaying the first item in the list its being populated by a webserice call the drop down in question is comboboxmodel now the manufacture one is fine and sets as it should any reason as to why the comboboxmodel would not. [code]
I'm struggling with getting Linq To NHibernate to work.I have referenced NHibernate, NHibernate.Linq and NHibernate.ByteCode.Castle . Also I have all other dependencies in the same folder.
Code / Error message:
Public Function GetProjectsByName(ByVal ProjectName As String) As List(Of Project) Return (From x In _session.Linq(Of Project)() Where x.Name.Equals(Project))
End Function[code]....
... tells me that the LINQ extensions aren't loaded. Using NHibernate.Linq seems to be made in a way that it's incredibly easy to use, hence there are no tutorials on how to set it up. (Or at least I couldn't find any).
I have a repository class that defines some basic Get/Save/Delete methods. Inside these, I use NHibernate to do the work on my business entities. For example:
[code]...
However, on my User class I have some properties and collections of other objects that ideally I'd like to be lazy loaded. But of course, the ISession is created and disposed within the repository, which I guess is why, outside of that, when I try to access those properties I get a "Could not initialize proxy - no Session" error.Is my only option then to disable lazy loading when using repositories? Or is it possible (or just foolish) to somehow get the session into scope in the business layer?I do like the repository model, and NHibernate is growing on me (after lots of initial frustration trying to make it work), so what's the best way you gurus have found of using them together?
I am having some redundant primary key issues.I have an Item which contains many reports. I have mapped them as shown below. I can do Session.QueryOver(Of Item).List and there are no extra columns generated. I can also do Session.QueryOver(Of Report).List and there are no extra columns generated.
However, once I try to traverse the relationship from Item to Reports, I get the SQL query shown below. Can anyone tell me why?
I am starting on the NHibernate world and i am experimenting with the NHibernate CookBook recipes, i am trying to set a base entity class for my entities and this is the C# code for this. I would like to know whats the VB.NET version so i can implement it in my sample project
I am getting an "ArgumentOutOfRangeException" on parameter index whenever I try to instantiate a session factory in nHibernate. The error comes from a procedure deep in the bowels of nHibernate. This is on a fresh project with a pretty simple three tier architecture. The data layer maps the nHibernate classes to simple interfaces which are implemented by the business layer.Currently there is only one interface set and mapping file being used by nHibernate. Hopefully my issue is easy to spot.
Here is the function where I build the sessionFactory.
Private Shared Function SessionFactory() As ISessionFactory If _sessionFactory Is Nothing Then Dim config As New NHibernate.Cfg.Configuration config.Configure()
[code]....
Edit2: When I remove the discriminator I no longer get this error. Am I not doing that right?
Edit 3: When I download the source code for nHibernate, build it on my own, link to it's debug output and run it, I get a completely different error about ProxyFactoryFactory not being configured.
Because there is so little information about VB.Net and (Fluent) NHibernate to be found, I decided to write this question to all other developers finding themselves looking for more information.On of the things i had to struggle with was how to Ignore properties in NHibernate.The reason i had to ignore properties was because we used a Webserivce which cannot serialize Interface classes (ILists). Which are used a lot with NHibernate.
Well i have been fighting with this for a little bit now, and i can't seem to find a solution for something it should be really simple. I got a class ( really simple class ) i got the hbm.xml ( SET AS EMBEDDED RESOURCE ) i got the config file set for SQLite but i still get the [Class] Is not mapped.Here is where the error comes up, when i run this:
Public Sub LoadCentersFromDatabase() Try Dim session As ISession = OpenSession() Dim query As IQuery = session.CreateQuery("from Center")
I've been using c# for the past year and I enjoy the power you get with Fluent NHibernate. One question that I get from friends is "nice but how can vb.net programmers use this?"So for example- the below is a c# mapping class. How would someone do this with vb.net?
public class PostMap : ClassMap<post> { public PostMap() { Table("Posts");
I am attempting to bind objects pulled from an NHibernate session to a DataGridView and am having problems.I have a single session in which I fetch all of my "look-up" items that are bound to a combobox column, and then I query for the objects themselves. omehow, this still results in proxy child objects on the main objects. I have even changed the mapping of the look-up items to eager fetch, but I still get proxies somehow.Here is how I am fetching the objects:
Dim _makes As IList(Of Make) = session.QueryOver(Of Make).List Dim _models As IList(Of Model) = session.QueryOver(Of Model).List Dim _cars as IList(of Car) = session.QueryOver(of Car).List
Question: I get an exception serializing this class to a nHibernate xml file ({"Could not determine type for: System.Drawing.Image, System.Drawing, for columns:NHibernate.Mapping.Column(Settings)"}).
using System; using System.Collections.Generic; using System.Text;
Instinctively, I would say that this is impossible, as NHibernate needs to know some mapping information on how to persist a given type. Thus, I encountered some situations in which I could use such a feature. For instance, through a named query or something like so. On the other hand, using a named query would require me to make an addition to the configuration file.
Let's suppose we have an application interacting with some underlying datastore. This datastore is configured through the NHibernate configuration file. Then, I wish to have NHibernate load only a subset of an entity properties, from another subsystem to which my application shouldn't need to interact much, so it is not worthy to define classes for this system, as I only need a fraction of this alien system's information, let's say three out of thirty-two data columns. For that matter, if I chose to load only those three columns let's say for performance concerns, I would then use an anonymous type, perform the required action onto this information, then persist it back to the datastore. Now, it wouldn't be of much interest to do so if I only had one entity to get loaded from the datastore, so let's say I have about 75,000 rows to load into my process. I then shall consider this subset option very seriously!
What strategy should you choose in such situation, if you needed to persist these changes to a subset only of this entity's properties?FYI: I am asking because I must write specific rules of usage with NHibernate, such rules that even a beginner developer would even be able to use it without knowing too much about NHibernate, but only following the rules and guidance of the technical documents I have to produce.
I am using Fluent NHibernate to map an Oracle database. It is a legacy database so I cant really change everything I want.There is a GUID field, but the keys are still composite (I will change this as soon as I can so that the keys are not composite, but I cant do it right now). The GUID is a VARCHAR2 field with this layout: 551608b1-275d-49f6-9561-44d01aacf23f. The GUID is not added by a sequence in Oracle, but inserted from code (C# or VB.net)[code]Is the problem that I dont use a sequence to generate my GUID? How can I overcome this?