gpt4 book ai didi

mysql - EntityObject 上的 Convert.ChangeType()

转载 作者:行者123 更新时间:2023-11-29 02:35:53 27 4
gpt4 key购买 nike

我正在使用 .Net Connector 6.3.6 处理 MySQL,并在 VS 2010 上创建实体模型。我打算编写一个通用方法,将 EntityObject 添加到其对应的表中。这是它的样子:

    public void AddToTable(ObjectContext dataContext, string tableName, EntityObject tableObj)
{
try
{
Type type = dataContext.GetType();
string methodName = "AddTo" + tableName;
MethodInfo methodInfo = type.GetMethod(methodName);
PropertyInfo propInfo = dataContext.GetType().GetProperty(tableName);
Object[] parameters = new Object[] { Convert.ChangeType(tableObj, propInfo.PropertyType) };
methodInfo.Invoke(dataContext, parameters);
}
catch (Exception e)
{

edit://gonna handle it appropriately here!
}
}

ObjectContext 将是实际的 ObjectContext 类。但是,当我在 EntityObject 上使用 Covert.ChangeType() 时,出现异常提示“对象必须实现 IConvertible”。如何克服这个问题?编辑:仅供引用,我的主要目的是编写一个尽可能通用的方法,这样就不需要强制转换为特定的表类型。

谢谢,警报器

最佳答案

您正在重新发明轮子。

 public void AddToTable<TEntity>(ObjectContext dataContext, TEntity tableObj)
{
dataContext.CreateObjectSet<TEntity>().AddObject(tableObj);
}

请不要吃异常。

关于mysql - EntityObject 上的 Convert.ChangeType(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5166005/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com