Nested Multi-line Lambda Function As Parameter For LINQ Select Is Causing An Error
Jun 29, 2010
I'm trying to use a nested multi-line lambda Function in VB.NET and am getting an error. Here's what my code looks like:
cartItems = cartItems.Select(Function(ci) New With {.CartItem = ci, .Discount = discountItems.FirstOrDefault(Function(di) di.SKU = ci.SKU)})
.Select(Function(k)
If k.Discount Is Not Nothing Then
I have a query that can be summarised in SQL as follows;
Select S.StockCode From StockToCheck As S
[Code]....
Where the S var is a list of strings. This gives the error 'S' is not declared and points to the S in the function call / join (GetPOSStock). So it does not seem possible to do this in Linq, can anyone confirm?
While reading an article by Deborah Kurata "Getting ready for VB10" under the section "Better Support for Lambda" she mentions using multi-line Lamba for debugging. So I tried it out on a class and worked just as she described (see figure 1). Now I am wondering if this can be done in regards to ForEach with a Dictionary as shown in figure 2. I am asking as when attempting to mimic the ForEach in figure 1 I get a message indicating there is no signature suitable for doing the multi-line Lambda statement for a ForEach
Private Sub Example() Dim Taxpayers = New List(Of Taxpayer) From {New Taxpayer With {
For I've tried this:Dim exampleItems As Dictionary(Of String, String) = New Dictionary(Of String, String) Dim blah = exampleItems.Select (Function(x) New (x.Key, x.Value)).ToList 'error here
But I'm getting a syntax error and all the examples that I've seen are in C#.
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:
I have a Linq-to-SQL class diagram in my web application containing the two tables in my database (held in a DBPro database project in the same solution). All was working fine yesterday. I start doing some work tonight and note that the solution compiles fine in Visual Studio, but when I run the web app I get a compilation error:
Description: An error occurred during the compilation of a resource required to service this request. Please review the following specific error details and modify your source code appropriately. Compiler Error Message: BC30002: Type 'FrostAlertDatabaseDataContext' is not defined.
I'm trying to implement parallel computing using .NET 4 on an asp.net website housed on a clustered server consisting of 6-8 dual core servers. My original script contains two nested For...Next loops iterating through a range of values in a grid of x by y.
For each point in the grid (x,y), we should perform a computationally intensive subroutine called MakePartsMatrix which accesses a SQL server database with dataviews and manipulating the local variable "unfilled" which is passed in ByRef.
Without the parallel implementation, the nested for loops work fine except its slow -- taking about 60 seconds to run.
When I parallelize the outer For loop, the script is about 50% faster, completing its calculations in 20-30 seconds which is great. However, I have noticed that the parallelization causes random parts of the grid to be either completely skipped (eg, grid (1,5) is never evaluated by the MakePartsMatrix), or some points in the grid (eg, x=10 & y=5) to be evaluated multiple times, resulting in duplicate work.
When I parallelized only the inner For Loop, the script execution time also improves by 50%, but now the last row (y-1) in the grid is skipped entirely and the results in "unfilled" are completely wrong.
When I comment out the "MakePartsMatrix" subroutine, the parallellization (either inner or outer For loops) does appear to visit every point of the grid (x,y) once, and only once.
Dim ConcurrentListofResults As ConcurrentQueue(Of FindBestResults) ConcurrentListofResults = New ConcurrentQueue(Of FindBestResults) Dim FBSResultsItem As FindBestResults
Is it possible to shorten the following function to a lambda expression?Or (to do the trick by myself) what is the best and most understandable for beginners tutorial for lambda in vb.net?[code]
How can i do a thing like: Myobject.Properties.Property?
Good Example: The datagridview has the 'Databindings' with an arrow, along with many other properties, How would I do something like that? This is the code I have:
Interface MyProperties ReadOnly Property [Property]() As String End Interface[code]....
I get an error 7th Line where it says "Return me", cannot cast FilteringDGV to MyProperties.
i am trying to bind a dropDownList control to a select query that has a parameter.the query itself runs fine on sqlserver database when the paramter is replaced with an actual datetime variable.the basic query is: SELECT DISTINCT DeliveryZone FROM dbo.tblComplaints WHERE (DeliveryZone IS NOT NULL)AND (DeliveryZone NOT IN ('**', '??', 'EE', 'T', 'M'))[code]
I need help, I posted this already but not the whole code.I have 2 3x3 matrix boxes that add to become an output result box.I'm stumped on the nested loop to read textbox values that get read into arry and then calulations performed and output to different array.[code]
I'm using SharpZipLib to compress files. The library is wrapped in a plugin interface, in a separate DLL. I pass the plugin dll a ByRef parameter to keep track of the compression progress.SharpZipLib, while compressing, will periodically call a delegate sub passed when launching the compression. I can't figure out how to update the ByRef parameter when the delegate is called. If I try to assign the ByRef variable in the body of a lamba expression, I get a 'ByRef' parameter '<parametername>' cannot be used in a lambda expression error.
In VB6 I used some pattern of programming..I passed the picturebox as parameter to some procedure in some class and inside this procedure paint all needed graphics using this class methods.Now I want upgrade my application to vb.netBut all samples for line drawing show me how to draw inside paint event.[code]
Have seen some solutions for C# but do not know how to solve the issue in VB.NET.
Query:
Dim Query = (From t In myEntities.Bookings Where(t.Ref = Someid) Select t.People).Sum()
t.Ref field is an Int and so is t.People.
The SomeId value is the primary key of the related table. This issue is that there will not always be records in the Bookings table with a Ref value of Someid - so the query throws the following error.
I have seen others have got around this problem with catching the error, but from reading up on this and as per the error information it seems there should be a solution (in VB.NET) to cast the query or some of the fields in the query to nullable types?
Error is as follows:
The cast to value type 'Int32' failed because the materialized value is null. Either the result type's generic parameter or the query must use a nullable type.
I am learning MVC3 and transitioning to VB.NET from C# at the same time (Fun, I know). I am running through the MvcMusicStore sample for learning MVC3. All the samples are in C# so I am converting them to VB. I came across one piece of code that I was unable to directly convert and had to change slightly to get it to work.
why one way works and the other doesn't.
This does not work:
Dim albums = New List(Of Album)() From { _ New Album() With { _ .Title = "A Copland Celebration, Vol. I", _
I have a user input screen that allows them to select input values and the resulting query is dependent on which values the user entered. The resulting query groups up the results to present a list of unique customers
Simplified table design - A customer can be in many states [code...]
I'm using Entity Framework in Visual Studio 2010 Beta 2 (.NET framework 4.0 Beta 2). I have created an entity framework .edmx model from my database and I have a handful of many-to-many relationships.
A trivial example of my database schema is
Roles (ID, Name, Active) Members (ID, DateOfBirth, DateCreated) RoleMembership(RoleID, MemberID)
[Code]....
For brevity I turned the list of all the columns from the Members table into *
As you can see it's just ignoring the "Role" query.
Where can I find complex LINQ examples made using VB.NET Lambda Expression syntax?During my searches I always found 101 LINQ Samples but they use the other notation and for me is not always clear how to transform that code into a lambda expression.
I am trying to convert the following code for the variance calculation public static double Variance(this IEnumerable<double> source){ double avg = source.Average(); double d = source.Aggregate(0.0, (total, next) => total += Math.Pow(next - avg, 2)); return d / (source.Count() - 1); } Described on CodeProject into corresponded VB.NET lambda expression syntax, but I am stuck in the conversion of Aggregate function. How can I implement that code in VB.NET?
I am pretty confused about lambdas. What I am trying to do here is write a function that will return an object from a certain table with a certain criteria. So lets say I can write: function GetRecord(TableName as string,Criteria as string) as object 'do the linq-stuff end function
Now I don't care if the parameters are strings or lambdas or whatever, but the end result must be that at runtime I don't know which table and which criteria will be used. As sometimes I need to get a customer record by email and sometimes a product by id etc. If possible I would prefer returning a list of matching objects and then I would just use .firstordefault when I want 1 (such as by id...).
I have a lambda expression that builds a list ofanonymous types. I would like to include a property in the anonymous type that is a counter. So the first entry is 1, second 2, third 3, and so on.I thought I recallenyone know the syntax for defining an indexing variable as part of a Linq query or lambda expression?
I've a large table of Items and I need to organize them by Category, then by Year and then by Month.Item has CategoryID and Dated properties.I got this far:
Dim Items = From Item In DB.Items _ Group By CategoryID = Item.CategoryID _ Into Categories = Group _ Order By CategoryID
But where I put the:
Group By Year = Year(Item.Dated)
and the
Group By Month = Month(Item.Dated)
The final result should be something like this:
For Each Category in Categories For Each Year in Category.Years
I want to have a "template" function that can receive different parameter and a type parameter, like:[code]But Vb told me that tupeList is not defined... is there a way I can do that?
I'm still trying to get my head around the whole "Lambda Expressions" thing.
Can anyone here give me an example ordering by multiple columns using VB.Net and Linq-to-SQL using a lambda expression?
Here is my existing code, which returns an ordered list using a single-column to order the results:
Return _dbContext.WebCategories.OrderBy(Function(c As WebCategory) c.DisplayOrder).ToList
Note: The WebCategory object has a child WebPage object (based on a foreign key). I'd like to order by WebPage.DisplayOrder first, then by WebCategory.DisplayOrder.
I tried chaining the order bys, like below, and though it compiled and ran, it didn't seem to return the data in the order I wanted.
Return _dbContext.WebCategories.OrderBy(Function(c As WebCategory) c.DisplayOrder).OrderBy(Function(c As WebCategory) c.WebPage.DisplayOrder).ToList
I have an untyped dataset returned from my WebService. The user wants to dynamically construct a query referencing tables and columns and specifying values to test for.I have looked at Lambda Expressions and the Expressions.Expression Namespace. I think these provide the answer I'm looking for, but I'm not certain how to go about contructing the linq expressions to extract the datarows I'm looking for.
I plan on limiting the result to one datatable that the query will result in and i"ll provide the joins from the user's constructs.For a simple example I have a DataTable with (n) rows called "Table", and in it there is a computed column called "b_IsActive" that has the expression "Convert(IsActive, 'System.Boolean')". The user wants to retrieve all rows in "Table" where field "b_IsActive" is true.
I'm writting a graph algorithm and I'm almost there...My algorithm stores several edge objects in a collection of edges, representing a path from initial vertex to final vertex.hus, there should be also several paths between those vertexes (several collections of edge type), stored in another collection (in my class, callded "collswap").Each edge is an object which have two vertexes: initial (v) and final (w), in this way:
dim manhattan as new vertex dim brooklyn as new vertex dim statenIsland as new vertex
a user copies multiple lines of text (say, from an email) into the clipboard. Based on my observations, when one tries to paste the text into a single-line textbox, only the first line is actually pasted in. (I am aware that the "obvious" solution would be to set the Multiline property to True, but there are reasons I am looking to avoid this and to put multi-line data into a single line.)
In the TextChanged event handler, I wrote code that parses the clipboard data to successfully convert it to a single-line, comma-delimited format.
Private Sub txtMassTrackingNo_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) _ Handles txtMassTrackingNo.TextChanged
This is a WinForm VB.NET application. Please see the picture below:How to add a line break in a multi line textbox in Visual Studio designer's property section?I tried using abc & Environment.NewLine & def but that was not working.