I have done a lot of searching to what appears to be a simple LINQ problem but I can't figure out how to do grab an object out of a collection that has a specified minimum (or max value) without resorting to a sort like this[code]...
Ok, just needing a 2nd set of eyes looking at this to make sure the error isn't something else other than my LINQ code here. Here's the function class itself:
Public Function GetJacketByPolicyID(ByVal jacketID As Int32) As tblPolicy Dim db As New DEVDataContext() Dim j As tblPolicy = db.tblPolicies.Single(Function(p) p.policyNumber = jacketID) Return j End Function
and here is the code which calls this class function in the web control form itself:
Dim p As tblPolicy Dim j As New Jackets() p = j.GetJacketByPolicyID(3000050)
For some reason it's flagging the 2nd line in the GetJacketByPolicyID function saying the specified cast is not valid. So I'm guessing it's something I'm doing wrong. I'm sure the tblPolicy/tblPolicies class works right since I can create a new instance of a tblPolicy and set a few variables by hand and return it, so that's not it. I've also checked the datarow I'm fetching and there's no null values in the record, so that shouldn't be it either.
I can't quite figure out why this Linq Statement isn't working as i would expect:
[Code]....
I would assume that this would create a new collection of anonymous types, that would be distinct. Instead it creates a collection the size of the "ThisParentCollection" with duplicate "MyAnonymousType" in it (duplicate id's).
Is it possible using Linq to select the FirstName and LastName out of all the Bloops in the collection of Bloops and return a collection of Razzies? Or am i limited to a For-Loop to do my work?
To clear up any confusion, either VB or C# will do. Also this will probably lead to me asking the question of (What about using a "Where" clause).
I am a beginer in vb.net. For a school project, i have chosen inventory control as the subject. WIth help from videos, i have developed some basic forms with adding/updating.
The product table design is like this:
Name Type Size
[Code]...
Now, i am designing the purchase/sales screens. I am showing the items name, qty, price in a datagrid. From the products table, I am able to select the 'ProductName' by giving it a combobox . I want the ProductSellingPrice also to appear in the next column of the grid.
how to store multiple variables in a single one to be stored in string?I have some 5 linq variables which am trying to store in a single string...Can you tell me how should i do so?
I am getting following error whenever I want to use IIf function inside entity framework query.
LINQ to Entities does not recognize the method 'System.Object IIf(Boolean, System.Object, System.Object)' method, and this method cannot be translated into a store expression.
Dim find_id = From p In dbContext.Residents _ Where p.person_name = occupant _ Select p
I then pull the first returned ID like so:
Dim building_id As String = find_building_id.FirstOrDefault.id
This works fine, except with the person has a ' in their last name, like M'arta. In this case I get a NullReferenceException.
Okay, the problem appears to be that when I am capturing the name initially from a GridView it is inserting into the value a #39 instead of ' and then LINQ is keeping things correct, so I end up with a non-match since it is attempting to match:
For a school programming project we are supposed to create a database with 2 tables country, and continent.then we populate country with every country name, population and continentID. For continent we populate with each continent name.
i have completed this step, and i am able to run a linq query to display all countries and corresponding continent into a datagridview. My problem arises because we are supposed to display each record one at a time, and be able to cycle through one at a time. I cannot for the life of me figure out how to do this.
for example if i made a query to select all countries in africa, i want to beable to display the name of the country, and population in textboxes. then have a next button that will go to the next record.
I have a filter expression that contains a single quote (Al ' ABC), and i am using the Select statment of the datatable where i want to select all rows containing the filter expression, but i am encountering an error. how can i resolve it?
I have a filter expression that contains a single quote (Al ' ABC), and i am using the Select statment of the datatable where i want to select all rows containing the filter expression, but i am encountering an error. how can i resolve it
I have the following Data Transfer Objects defined:
Public Class MemberWithAddressesDTO Public Property Member_PK As Integer Public Property Firstname As String Public Property DefaultAddress As AddressDTO Public Property Addresses As IQueryable(Of AddressDTO) End Class
I am trying the following to select a long date, but becase the value is stored in SQL database as DateTime I am unable to return any results unless minutes and seconds match perfectly...I then tried to use 2 calendars and have the same issue with the DateTime format..
I have a LINQ query that groups and counts on a single dgv cell. What I want to do is group and count on 2 dgv cells. So I modified my existing query by adding a SELECT statement highlighted :
CODE:
But I am getting an error on the second select variable stating: Range variable 'Value' is already declared
What I have read shows that I can select more than one variable.
I need to grab just one row, and output its name and details properties to a sidebox on my page.So far I have come up with this, which is not working and giving cast errors between the entity and the list of.
Public Shared Function GetOneRow() As String Dim db As New Model.Entities Dim rowCount As Integer = (From t In db.Table Select t).Count
How can I convert an object of type System.Data.Linq.DataQuery to System.Linq.IQueryable?I'm working with Visual Basic/Silverlight, and the source code of my query is as follows:
Public Function Get_Cli_Pag() As IQueryable(Of V_Cliente_Pagare) Dim Qry = From P In Me.Context.Pagares Join C In Me.Context.Codigos On C.Codigo
Limited to using v2.0 of .Net framework (we use VB.net) due to environmental constraints on our servers.I've got an ASP.net webpage which pulls data from a webservice that performs checks on user accounts in active directory. Operators can check multiple accounts at one time using the web interface. The webservice returns a list(of AccountCheck) objects which themselves contain single properties like username, email address, and List(of AccountError) objects which contain multiple properties.[code]What I want to do is using some kind of repeater, create multiple panels or divs which contain labels showing the username, email etc, and a gridview which has the accounterror list bound to it to show all the errors. The users could be checking 2, 5, 7 accounts at once, and is dynamic.
Using advWorksContext As New AdventureWorksEntities ' Call the constructor that takes a command string and ObjectContext. Dim productQuery1 As New ObjectQuery(Of Product)("Product", advWorksContext)
[code]....
An ObjectQuery can be enumberated only once. (Subsequent attempts at enumeration throw an exception.) The enumberation takes place in the for each statement. The problem is that if the query is empty attempting a For Each will throw an exception. But if I check for a count:If productQuery1.Count > 0 Then . . .
That eats up my one chance at enumeration. I could nest the For Each in a try/catch block and throw away the empty query exceptions, but that's ugly.
I have a string like "Hello'World" and a Data Table with some records in it. One of those records is "Hello'World".he problem is, when I do a .Select in the Data Table, it only tries to search for the "Hello" part and throws an error on "World" because it interprets the ' (single. cuote) like the closing cuote on sql.DataTable.select("text = 'Hello'World'")I have gone through msdn doc, and it says I can escape some characters with [] brackets or f.slashes , but I just can't figure out: .select("text = 'Hello[']world'")
I have a listview box. I load the listview up from a text file and everything is divided into three groups. I need to be able to select multiple lines then push that out to a single variable, separated by commas. Two things are happening that are problematic:
1) If I just have it set to smallicons and no checkboxes, anything I select is highlighted right up until the control loses focus at which point everything un-selects.
2) If I turn on checkboxes, I can click boxes and they stay selected when I lose focus BUT the checkboxes are cut off on the left side of the control. (The checkbox appears to go off the edge of the control.) There's plenty of space in the control for the checkbox and the listed items.
I have a stored procedure (I cannot edit) that I am calling via linq.
The stored procedure returns values (more complex but important data below):
Customer Stock Item Date Price Priority Qty -------------------------------------------------------- CUST1 TAP 01-04-2012 £30 30 1 - 30 CUST1 TAP 05-04-2012 £33 30 1 - 30 CUST1 TAP 01-04-2012 £29 20 31 - 99 CUST1 TAP 01-04-2012 £28 10 1 - 30
I am trying to limit this list to rows which have unique Dates and unique quantities in LINQ. I want to remove items with the HIGHER priority leaving rows with unique dates and qty's.
I have tried several group by's using Max and order by's but have not been able to get a result.
Is there any way to do this via linq?
EDIT:
Managed to convert brad-rem's answer into VB.net.
Syntax below if anyone needs it:
returnlist = (From p In returnlist Order By p.Qty Ascending, p.Priority Group By AllGrp = p.Date, p.Qty Into g = Group Select g.First).ToList
Ok, the basic situation: Due to a few mixed up starts, a project ends up with not one, but three separate databases, each containing a portion of the overall project data. All three databases are the same, it's just that, say 10% of the project was run into the first, then a new DB was made due to a code update and 15% of the project was run into the new one, then another code change required another new database for the rest of the project. Again, the pertinent tables are all exactly the same across all three databases.
Now, assume I wanted to take all three of those databases - bearing in mind that they can't just be compiled into a single databases due to Primary Key issues and so on - and run a single query that would look through all three of them, select a given set of data from each, then compile those three sets into one single result and return it to the reporting page I'm working on.
I'm having trouble getting a Linq to Sql query to work. Basically, I want the sum of a column in a table for only rows matching a certain condition. A simplified version is this:
Orders = order that contains products OrderProducts = relational table containing products that are in an order Products = table containing information about products
I can get the total sum of the qty of products like this:
Dim totalQty = requests.Sum(Function(p) p.OrderProducts.Sum(Function(q) CType(q.ProductQty, Nullable(Of Integer))))
(Requests is a IQueryable of Orders)But I also need to get the sum of qty where the actual product meets a certain condition. Something like...
Dim totalQty = requests.Sum(Function(p) p.OrderProducts.Sum(Function(q) CType(q.ProductQty, Nullable(Of Integer))))... WHERE p.OrderProducts.Product.ProductAttribute = true
How would I go about getting that query with the additional where clause to only get the sum of the qtys where the productAttribute = true ?
I have the following query which groups some records and then filters where the count of the grouped records is 1.
I'd like to take the returned result and perform another query to retrieve the entire record from the JobcodesWorkingRollup table where the ParentNode column equals the result of this query:
Dim query = From r In context.GetTable(Of JobcodesWorkingRollup)() _ Group r By r.ParentNode Into g = Group _ Where g.Count = 1 _ Select New With {.cnt = g.Count, .nm = g.FirstOrDefault.ParentNode}
Why can't I get any values back when I use Linq to Sql? BHS_TimeSheet is my database table in which have some records. Model.TimeSheet is a class I create in the model. Private db As DataFactoryDataContext
Today I ran into an issue with LINQ to objects (not SQL) that popped up due to a typo. I had a .Select one place and a .Where in another place. I was expecting same result but they are showing different numbers. Assume somelist has 10 elements with all elements having qty = 0