ich eine Ansicht, die typischerweise Abfrage-Ergebnisse aus einer WebMatrix Query (IEnumerable<dynamic>
Datentyp), und zeigt die Ergebnisse in einer Tabelle erhält:Wie ein Datenlesegerät, um dynamische Abfrage zu konvertieren führt
@model MySite.Models.Entity
@foreach(var row in Model.Data)
{
<tr>
@foreach (var column in row.Columns)
{
<td>@column<span>:</span> @row[column]</td>
}
</tr>
}
Hier ist mein Modell wo ich die Datenbank abfragen:
public class Entity
{
public dynamic Data {get; set; }
public Entity(String table)
{
if (table == "User" || table == "Group)
{
WebMatrix.Data.Database db = new WebMatrix.Data.Database();
db.Open(ConString);
Data = db.Query("SELECT * FROM " + table);
}
else
{
using (OdbcConnection con = ne4w OdbcConnection(ConString))
{
OdbcCommand com = new OdbcCommand("Select * From " + table);
command.CommandType = System.Data.CommandType.Text;
connection.Open();
OdbcDataReader reader = command.ExecuteReader();
Hier ist all die verschiedenen Dinge, die ich aus der Lektüre verschiedenen anderen Beiträgen versucht haben:
// Atempt 1
Data = reader;
// Error in view, 'Invalid attempt to call FieldCount when reader is closed' (on 'var row `in` Model.Data')
// Atempt 2
Data = reader.Cast<dynamic>;
// Error: 'Cannot convert method group "Cast" to non-delegate type "dynamic". Did you intend to invoke the method?
// Atempt 3
Data = reader.Cast<IEnumerable<dynamic>>;
// Error same as Atempt 2
// Atempt 4
Data = reader.Cast<IEnumerable<string>>;
// Error same as Atempt 2
}
}
}
}
Ich bin auf der Suche nach dem besten Weg, um das Leserobjekt zu einem IEnumerable<dynamic>
Objekt zu bekommen.
Bitte beachten Sie, dies ist ein vereinfachtes Beispiel, und während der Grund für die beiden Abfragetypen nicht offensichtlich ist, sind sie in meinem Code erforderlich.
Verwandte Frage: http: // Stackoverflow.com/questions/15211437/how-to-read-dynamic-Eigenschaften-from-database – nawfal