Question: I am working on a service which tracks millions of products for price changes and needs to be able to let the users view price history, biggest discounts , prices change a few times per week sometimes per day.

right now I have 

products table

* id
* category\_id
* name
* photo
* sku
* supplier\_id
* link
* discount (difference from last price to current price)

prices table

* product id
* timestamp
* price

I need to be able to query for:
biggest discounts
biggest discounts per category
biggest discounts per supplier
history of price for one product

is mongoDB a good fit ? can anyone give a quick start on how to convert my tables to fit the app ?

Answer: 
Go into the project properties by right clicking the project in the solution explorer and click properties. On the first tab you will see a drop down list for the entry point. Select the appropriate main method.
`STAThread` doesn't set the entry point - it forces the runtime to use a Single-Threaded Apartment for the thread which executes Main.

As Josh says, you need to set the Startup Object in project properties. If that isn't showing in VS Express, you may need to force it to show advanced build properties: Open Tools\Options and check "Show advanced build configuration" in Projects and Solutions.

Note that your application *either* has to be a console app *or* a WinForms app. It can only be built as one (per configuration, anyway). You'll either end up with a console showing when you start is as a WinForms app, or no console showing when you start it as a console app.

Have you considered putting the bulk of the logic in a class library, and then creating two wrapper applications - one WinForms and one console - which just display the relevant UI and then delegate to the class library?