I am consuming an RSS feed to display on my website using a repeater control. I was wondering if it's possible in VB to return an anonymous type from my linq query rather than a collection of strongly typed RSSItems. I know this is possible in C#, however haven't been able to work out a VB equivalent.
I have an Interface that has its concrete class defined via a factory. Because of this I found no way to use the Interface tpye directly in my LINQ quesry so I had to use the concrete class types to creat a generic list. The LINQ query works but after calling.ToList() on the LINQ query result I get a List(of MyConcreteClass), but I need a List(of IMyConcreteClass). I have tried everything I can find: .Cast, Ctype, implicit casting, etc. but I always get back one of the (2) messages (depending on if I attempt to cast)message:
"Unable to cast object of type 'System.Collections.Generic.List`1[MyConcreteClass]' to type 'System.Collections.Generic.IEnumerable`1[IMyConcreteClass]'." ...or "Unable to cast object of type '<CastIterator>d__aa`1[IMyConcreteClass]' to type 'System.Collections.Generic.List`1[MyConcreteClass]'."
Do any one know how to return an anonymous type. I am using Linq where i need to return the following code
private <What's the return type to be provided here> SampleLinq(Int32 Num) { var query = (from dept in obj.DeptTable where dept.Id == Num select new { dept.DeptName, dept.DeptId }); return (query) }
I then retrieve the data from the DataTable into an anonymous type:
var feeds = from feed in categoryProducts.AsEnumerable()[code]....
This all works great.
However, I would like to extend the code to perform some evaluation checks (e.g., check that various columns in the DataTable are not NULL) and other pre-processing (e.g., call various functions to build the image URL based on the image ID - which is another column in the DataTable not shown in the code fragment) before I return the resulting rows of the DataTable as an anonymous type to the client-side.Basically, I want to iterate through the DataTable, perform the evaluation checks and pre-processing, while building my anonymous type manually as I go. Or maybe there is a better way to achieve this?
var result = from category in myEntities.Categories where category.UserId == userId orderby category.CategoryName select category;
What is the type of "result"? I casted it to an IQueryable variable and it worked except it did not have some of the methods normally available, e.g. Count(). In my program I have to cast it to some explicit types and then use the Count() method.
I am trying to fill a gridview with the data from Product table selecting few columns . I am using 3 - tier architecture and in DAL getproduct(userid) I am writing the query but cannot figure out exactly how to get that working .. here is piece of method I wrote
It seems my Eval(Container.DataItem, "JobNID") is not working and I assume this is because the datasource of the outer (parent) repeater is an anonymous type. So how am I supposed to access a particular field of my anonymous type?
I am trying to figure out how to get at an anonymous typed object's properties, when that anonymous type isn't created in the current function.
Specifically, I am binding an ASP.NET ListView to LINQ resultset, then trying to process each item in the ItemDataBound event.
Option Explicit On Option Strict On Class MyPageClass Private Sub Bind() Dim items As ItemData = FetchItemData() Dim groups = From s In items Group s By Key = s.GroupId Into Group _ Select GroupID = Key, GroupData = Group ' This works fine: Dim groupId As Integer = groups(0).GroupID lvGroups.DataSource = groups lvGroups.DataBind() End Sub Private Sub lvGroups_ItemDataBound(ByVal sender As Object, ByVal e As ListViewItemEventArgs) Handles lvGroups.ItemDataBound If e.Item.ItemType = ListViewItemType.DataItem Then Dim item As ListViewDataItem = DirectCast(e.Item, ListViewDataItem) Dim groupData = item.DataItem ' This is the anonymous type {GroupId, GroupData} ' Next Line Doesn't Work ' Error: Option Strict disallows late binding Dim groupId As Integer = groupData.GroupId End If End Sub End Class
What do I need to do in lvGroups_ItemDataBound() to get at the item.DataItem.GroupId?
Basically, I have a repeater control, and a Linq query that retrieves some items. Ordinarily I would databind straight to the query and use Eval to populate the template with the results.
However, it doesn't come through in quite the right format - for example, if EndDate is null (it's a DateTime?) then I want to substitute it with "Present". I am using only a couple of the properties in the query result objects.
I use LinqToSql in my project. I have a class called MessageBLL and this class has a method called GetAll which returns List<object>. I returned object because I get data from two tables. Here is my code;
[Code]....
I want to use this in my Default.aspx.cs as like this but intellisense is not show CategoryName :[Code]....suggest me return as IQueryable but I couldn't do it in that way.
I would like to enquire about a seemingly basic problem that i am struggeling with. I have been trying to add information to an access database and as i am inserting this information I get the error message stating that I tried to assign the Null value to a variable that is not a Variant type. I was thinking that it could have something to do with the primary key being set to automatic number but this also does not seem the problem.
I have controller method that looks something like this:
[Code]....
notice the commented out line. This method used to return an IEnumerable<Sport> but now that I have used a LINQ query it is returning an IEnumerable of an anonymous type (I think that's the correct terminology - please correct me if I'm wrong).
Question I have is...can I add a strongly-typed view based on this anonymous type and if not, how do I write a view that can access this collection?
I'm using MVC, and in the controller, I'm using a linq to objects query which returns an anonymous type:
var results = from ... select new { ... };
I then pass this information to an untyped view:
return View(results);
I try to iterate through the data in the view:
<% foreach (var entry in Model)%>
...
<%: Html.Encode(entry.MyProperty) %>
However, I get a RuntimeBinderException: 'object' does not contain a definition for 'MyProperty'. However, oddly, if I hover above entry with the mouse, it does actually have MyProperty in the popup window, and the value is what I would expect,(apparently, the Visual Studio IDE knows what type it is).I can get around this problem by using a linq query which uses an explicit type and a parameterless constructor of the form:
IQueryable<SearchResult> results = from ... select new SearchResult { ... };
and creating a view model class which encapsulates the SearchResult data, which is then returned to a strongly typed view. However, I don't understand what the problem is with the first method.
I have a FormView that allows a user to register for a company event. I want to do a couple of things with this form.
1. I need to write this data to a MS SQL database
2. I need to send an email confirmation of their registration to their email.
I know how to do both of these things, but i am having trouble doing both at the same time.
It would be nice if I could do it in one click, but I coded it into two pages to try to help simplify it.
The first page allows the user to input their information into a formview and when they click the submit button, it places those answers into session variables:
[Code]....
[Code]....
The Second page confirms the users information by taking those session variables and placing them into labels:
[Code]....
[Code]....
However, after I place information into the formview on the first page, it throws up this error:
"Conversion from type 'TextBox' to type 'String' is not valid".
I have this error "The given value of type String from the data source cannot be converted to type datetime of the specified target column." when I used sqlbulkcopy to do the transaction
I have a gridview which I'm trying to get the display of phonenumbers listed in a certain display format; (xxx) xxx-xxxx.If I have the code such as this, it displays the unformatted phone number and (000) 000-0000 for the null items.
I am having problem with rowdatabound, want to add if conditions intact, i am using teh following two if conditions and they don't look right. i found them on google.
If e.Row.RowState = DataControlRowState.Normal Or e.Row.RowState = DataControlRowState.Alternate Then end if If e.Row.RowState = DataControlRowState.Edit Or e.Row.RowState = 5 Then end if
With datagrids i use these and they work excellent:
If e.Item.ItemType = System.Web.UI.WebControls.ListItemType.Item OrElse e.Item.ItemType = System.Web.UI.WebControls.ListItemType.AlternatingItem Then end if.....
I'm trying to pass email addresses from an array to a stored procedure, then display the results in my gridview. I get the following error:No mapping exists from object type System.String[] to a known managed provider native type.On this line: Dim DR As SqlDataReader = MyCommand.ExecuteReader
I am getting this' Data type mismatch error' when i click on a submit button after tag selection. It was working before but now it is not working. It say there is an error on line 105.[Code]....