![](/img/trans.png)
[英]How can I get data type of each column in a SQL Server table/view etc. using C# Entity Framework?
[英]How to find the table i want in an sql server using entity framework
我正在使用一种其目的是从表中读取的方法。 该方法有一个输入参数,一个字符串,其中包含要传递的表名和要从中读取的表名。 有多个表。 到目前为止,我的代码:
public List<dataTable> GetData(string name)
{
TableEntities db = new TableEntities();
db.Database.Connection.Open();
foreach (var readDb in db.SOMETHING_HERE) //here it should find the table which is equal to the table I'm passing as string name
{
dataTable data = new dataTable();
data.name = readDb.name;
在db有很多选项。 但我不知道哪个适合我的需求。
我认为您需要使用反射来实现: MSDN反射参考
您可能需要尝试以下方法:(假设示例表雇员和部门)
public List<dataTable> GetData(string name)
{
using(TableEntities db = new TableEntities())
{
if(new Employees().GetType().ToString().Equals(name))
//Do query
}
}
它不是很漂亮,但是您可以尝试以下方法:
using (TableEntities db = new TableEntities())
{
var type = Type.GetType("namespace." + tableName);
var query = db.Database.SqlQuery(type, "SELECT * FROM " + tableName);
foreach (var row in query)
{
PropertyInfo prop = type.GetProperty("NAME");
string name = (string)prop.GetValue(row);
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.