我正在构建一个与 SQL 服务器数据库通信的简单 ASP.NET 应用程序。在一个单独的项目中,我拥有由 Visual Studio 生成的数据集。我正在尝试公开一个将显示数据库中所有用户的 API,但我遇到了一个异常。
这是代码:
public class UserController : ApiController {
public IEnumerable<GWDataSet.usersRow> GetAllUsers() {
GWDataSet gw = new GWDataSet();
usersTableAdapter adapter = new usersTableAdapter();
adapter.Fill(gw.users);
return gw.users.AsEnumerable();
}
}
这是一个例外:
Type 'System.Data.DataRow' cannot be serialized. Consider marking it with the DataContractAttribute attribute, and marking all of its members you want serialized with the DataMemberAttribute attribute. If the type is a collection, consider marking it with the CollectionDataContractAttribute. See the Microsoft .NET Framework documentation for other supported types.
除了手动编辑系统生成的代码之外,有没有办法解决这个问题?我担心下次我对数据集进行更改时,它会覆盖我添加的所有数据合同元素。我认为有办法做到这一点,但我似乎找不到。
谢谢!