C# - Convert An EntityCollection<T> To List<POCOObj>?
Mar 13, 2010
I have Entity Framework entities Events which have an EntityCollection of RSVP. I want to convert the EntityCollection of RSVP to a generic List<> of a POCO class RSVP.
So I want EntityCollection -> List. What would be the best way to go about achieving this?
So far I have this (it's missing the RSVP part)
var events = from e in _entities.Event.Include("RSVP")
select new BizObjects.Event
{
EventId = e.EventId,
Name = e.Name,
Location = e.Location,
Organizer = e.Organizer,
I am executing a Stored procedure from Nhibernate.Below is the sample of my code.
public IList ReportDetails() { session.Flush(); ISQLQuery query1 = session.CreateSQLQuery("EXEC dbo.Reports"); System.Collections.IList list = query1.List(); return list; }
This returns me an Ilist. I want ot convert this to List of Type List<Reports>.Reports class contains all the properties which i will get from Stored Procedure.
I would like to call a method in the ObjectContext which returns EntityCollection and have it sorted the way I want by default. For example, Imagine I have the following Category table/class:
CategoryID (PK) Name ParentID (FK_Category) foreign key pointing to CategoryID itself.
(This table is the base for a tree structure of Categories and SubCategories)
Now, in my data model, the public partial class Category : EntityObject has a property which returns all Categories that have ParentID==CategoryID, in other words, EntityCollection<Category> SubCategories.
Alright, now i want to show in my page all the Categories and SubCategories by using Repeater:
IList<Category> categoryList = new CategoryProvider().GetAll(); rptSubCategories.DataSource = categoryList; rptSubCategories.DataBind();
Simply and everything works! Except that, rptSubCategoryCategories doesn't gives sorted Categories by Name. The only way I found to do it, is to change its DataSource from:
but I wish I could do something else to have a default sorting so i don't need to call the OrderBy. Something like Attributes like we do in DynamicData, following the tutorial at [URL] Setting the default sort column of an Entity with DisplayColumnAttribute. Unless somebody tells me it's impossible what I want to do.
I'm trying to have a View where the user can add items in a collection without having to go to a new View (the scenario is a sort of CV site where the user adds info about work experience, skills, etc, and it would seem absurd to go to a new View to add each little thing).
So I have an edit View that shows a number of text boxes for the already added items, and there's an ajax call to go to a method to fetch the collection fresh if the user adds an item.
I have a question, much liket this unanswered one. I'm trying to work with the entity framework, and having a tough time getting my foreign tables to update. I have something basically like this in the DB:
Incident (table):
-ID -other fields
Responses (table):
-FK:Incident.ID -other fields
And and entities that match:
Incident (entity) -ID -Other fields -Responses (EntityCollection of Responses via navigation property)
Each Incident can have 0 or more responses.
In my Webpage, I have a form to allow the user to enter all the details of an Incident, including a list of responses. I can add everything to the database when a new Incident is created, however I'm having difficulty with editing the Incident.
When the page loads for edit, I populate the form and then store the responses in the viewstate. When the user changes the list of responses (adds one, deletes one or edits one). I store this back into the viewstate. Then when the user clicks the save button, I'd like to save the changes to the Incident and the Responses back to the DB. I cannot figure out how to get the responses from the detached viewstate into the Incident object so that they can be updated together.
Currently when the user clicks save, I'm getting the Incident to edit from the db, making changes to the Incident's fields and then saving it back to the DB. However I can't figure out how to have the detached list of responses from the viewstate attach to the Incident. I have tried the following without success:
Clearning the Incident.Responses collection and adding the ones from the viewstate back in:
Incident.Responses.Clear() for each objResponse in Viewstate("Responses") Incident.Responses.add(objResponse) next Creating an EntityCollection from my list and then assiging that to the Incident.Responses Incident.Responses = EntityCollectionFromViewstateList Iterating through the responses in Incident.Response and assigning the corresponding object from viewstate: for each ObjResponse in Incident.Responses objResponse = objCorrespondingModifedResonseFromViewState Next
These all fail, I'd like to be able to merge the changes into the Inicdent object so that when the BLL calls SaveChanges on the changes to both the Incident and Responses will happen at the same time.
I am using LINQ for data connectivity and have made class which return me the result set into presentation here is the syntax:-
public List<ClsDermaInvestigation> MthdisplayInvestigation() { List<ClsDermaInvestigation> lstinvst = new List<ClsDermaInvestigation>(); ISingleResult<USP_Patient_Dermatology_InvestigationResult> investresult = objderma.USP_Patient_Dermatology_Investigation(PatientID, RepDate, Hb, TLC, F); foreach(USP_Patient_Dermatology_InvestigationResult rel in investresult) { ClsDermaInvestigation objinvest = new ClsDermaInvestigation(); objinvest.Albumin = Convert.ToDouble(rel.Albumin); objinvest.ALP = rel.ALP; objinvest.ANA = rel.ANA; objinvest.Date = rel.date; lstinvest.add(objinvest)}return lstinvest} This list is returning me the result.It works fine but in 1 case am using the same list to bind my Date dropdownlist. //aspx.cs code List<Dermatology.ClsDermaInvestigation> objlstinvest = objinvest.MthdisplayInvestigation(); //Array s = objlstinvest.to drpDate.DataSource = s; drpDate.DataTextField = "Repdate"; drpDate.DataValueField = "Repdate"; drpDate.DataBind();
But it throws an error that list does not conatin a property with "Repdate";. How can i bind this list with dropdownlist?? Can i convert it into some type so that i would be able to bind it??
Possible DuplicateNET - Convert Generic Collection to DataTable i want to convert list datatype to datatype. wrote the function
static DataTable ListToDataTable<T>(IEnumerable<T> list) { var dt = new DataTable(); foreach (var info in typeof(T).GetProperties()) { dt.Columns.Add(new DataColumn(info.Name, info.PropertyType)); [code]...
I am developing a website using Visual Studio 2010, SQL server 2008 and WCF. Already i have developed DAL (Data Access Layer), for some of pages i want to use WCF services and Silverlight, I am new for WCF and i understand that all should be done in List<> for Silverlight and WCF. But all my methods in DAL will return the records in DATA SET format, So my ultimate aim is to convert the DATA SET into List. I browsed in internet and got many explanation like serialization , IEnumarable and so.... but i have 1000 of methods in my DAL, so for the each method i do not want DATA SET to LIST convertion. So i am thinking of having one common class the responsibility of comman class will be get the dataset and return the List [Convert DATA SET to LIST ] For example(Just Psedo explanation for undertanding, Ignore the Syntax error )
Public List< > DsTOLi(dsRecord) { // Here we will convert DATA SET to LIST return liRecord; }
i have an string data array which contains data like this
5~kiran 2~ram 1~arun 6~rohan
now a method returns an value like string [] data public string [] names()
{ return data.Toarray() } public class Person { public string Name { get; set; } public int Age { get; set; } ) List<Person> persons = new List<Person>(); string [] names =names();
now i need to copy all the data from an string array to an list<person> and finally bind to grid view
I have a list of person objects which I want to send in response to a jquery' ajax request. I want to send the list into JSON format. The list is as follows -
List<Person> PersonList = new List<Person>(); Person Atiq = new Person("Atiq Hasan Mollah", 23, "Whassap Homie"); Person Sajib = new Person("Sajib Mamud", 24, "Chol kheye ashi"); PersonList.Add(Atiq); PersonList.Add(Sajib);
How can I convert the "PersonList" list into JSON ?
I stored a list<mytype> object in a viewstate. Type of list<mytype> comes from a public structure which is defined at page.
When I try to convert viewstate to a list<mytype> object it cause error.
Public struct mytype {....} Page_load() { list<mytype> obj = new list<mytype>(); viewstate["mystate"]=obj } My_function(){ list<mytype> tempobj = new list<mytype>(); tempobj = (list<mytype>)viewstate["mystate"];// this line cause error ! }
List<string> IDs = new List<string>(); XDocument doc = XDocument.Parse(xmlFile); var query = from c in doc.Root.Elements("a").Elements("b") select new { ID = c.Element("val").Value};
How can I convert query to List without loop foreach ?
I inherited an application written for VB.Net and am converting it over to ASP.Net, with VB as the back end. I have a data pull that adds values to a new instance of a class, then adds the item to a listbox. It worked great in the VB.Net version, but I get the following error in the Visual Studio Text Editor when I try to use the code:
Overload resolution failed because no accessible 'Add' can be called with these arguments:
'Public Sub Add(Item As System.Web.UI.WebControls.ListItem)':Value of type 'MyItem' cannot be converted to System.Web.UI.WebControls.ListItem'. 'Public Sub Add(Item as String)':Value of type 'MyItem' cannot be converted to String.
I have played around with the code quite a bit and have been researching online, but I'm just drawing a blank here.
I put the class("MyItem") in the "App_Code" folder in a file called "MyItem.vb". The class code is as follows:
[Code]....
The code I have for the sub that is supposed to add the items to the listbox is as follows:
My viewmodel gets a List<Roomtype> RoomTypes which should be displayed in a dropdown.
Each dropdown option item should have: 1) as title the Name, 2) as value the Id, and 3) the style background-color #ColorCode.
My problems are how to convert this list correctly into a List<SelectListItem> as required by ASP.NET MVC's DropDownFor helper, and then to have the correct values inserted for each option.
I've tried to have a new readonly property in my viewmodel, which has a getter RoomtypeSelectList which returns new SelectList(RoomTypeList) but I can't get the correct properties to show (Name, Id, Background color).
I have a type that is derived from an Entity generated by the Entity Framework 3. How do I assign one Customer's Order property to the Derived Customer's Order property?
derivedCustomer.Orders = customer.Orders
I'm not actually trying to swap orders; this is just an example of what I am trying to achieve. Has anyone done tried this and succeed?
I'm going into the db context in the Tags and i select all the tags that have a set objectId via a navigation property i have setup through an ObjectTags table that stores the relationships in two columns, both make up a composite key.
The sample returns an IQueryable<app.Models.Tag>. Is there any quick way to convert this to a List<string> with just the Tag.Name?