una para definiciĆ³n contiene c# asp.net linq-to-dataset

c# - para - datatable asenumerable



DataTable no contiene definiciĆ³n para AsEnumerable (4)

El método que desea está en el espacio de nombres System.Data , de modo que el using directiva es correcto, pero también necesita una referencia al ensamblado System.Data.DataSetExtensions . ¿Estás seguro de que tienes esa referencia como referencia de montaje ?

No está claro por qué tiene una directiva de uso para un espacio de nombres System.Data.DataSetExtensions : ¿no genera un error?

¿Cuál es el error exacto con la llamada AsEnumerable() ? (Me sorprende el error que está obteniendo con la segunda forma ... ese no es el error que esperaba).

El uso de linq para consultar una tabla de datos devuelve el siguiente error: CS0117: ''DataSet1.map DataTable'' no contiene una definición para ''AsEnumerable''

Proyecto incluye referencia para System.Data.Datasetextensions.

Aquí está el código.

using System; using System.Collections; using System.ComponentModel; using System.Configuration; using System.Reflection; using System.Data; using System.Linq; using System.Data.Linq; using System.Data.Common; using System.Data.DataSetExtensions; using System.Linq.Expressions; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.HtmlControls; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Xml.Linq; using System.Data.SqlClient; protected void Page_Load(object sender, EventArgs e) { var query1 = from mfg_nm in DataSet1.mapDataTable.AsEnumerable() select mfg_nm; }

ejecutarlo sin resultados AsEnumerable () da como resultado

var query1 = from mfg_nm in DataSet1.mapDataTable select mfg_nm;

CS1660: No se puede convertir la expresión lambda al tipo ''cadena'' porque no es un tipo de delegado

Gracias de antemano por tu ayuda


En todos los casos donde esto sucede, la referencia a System.Data.DataSetExtensions.dll faltaba. En caso de duda, intente crear un proyecto de consola simple dirigido a .NET 4 con una referencia a System.Data.DataSetExtensions.dll, para verificar que agregar la referencia realmente funcione.

También tenga en cuenta que solo necesita usar el espacio de nombres System.Data.

BTW mapDataTable es un DataTable, ¿verdad?


La búsqueda en Google "system.data.datatable no contiene una definición para asenumerable" me trajo aquí, y faltaba mi problema:

using System.Data;

Debido a mi implemento, el mensaje de error fue un poco engañoso. De ahí mi respuesta a esta pregunta. El código era como ...

public List<mytype> MyMethod(params) { return new mynamespace.myclasslib.myclass().GetDataTable(params).AsEnumerable() .etc }

Una vez que intenté declarar explícitamente el DataTable, se hizo obvio que me faltaba la declaración de uso.


Recibí este mensaje de error: ''System.Data.DataTable'' no contiene una definición para ''AsEnumerable'' y no se pudo encontrar un método de extensión ''AsEnumerable'' que acepte un primer argumento del tipo ''System.Data.DataTable'' (¿falta un ¿Usando directiva o una referencia de montaje?)

Adicional

using System.Data;

Se agregó "System.Data.DataSetExtensions" a la sección Referencias. Se resolvió el problema.