c# - 如何在我的数据库中创建对用户系统中 ASP.NET 构建的用户的引用?

标签 c# asp.net database asp.net-mvc-3 oodb

我试图在我的 OODB 中保存一个对象,它基本上是一个新闻项目(标题、一些文本、海报和发布日期)。

我可以毫不费力地从 ASP.NET MembershipUser 类中检索用户对象。

但是当我尝试保存时,似乎并不是所有的数据都记录在我的数据库中。下面是创建方法代码示例:

[HttpPost]
public ActionResult Create(Newsitem newsitem)
{
    if (ModelState.IsValid)
    {
        newsitem.postdate = DateTime.Now;
        newsitem.originalposter = Membership.GetUser(User.Identity.Name, true /* userIsOnline */);

        db.newsitems.Add(newsitem);
        db.SaveChanges();
        return RedirectToAction("Index");  
    }

    return View(newsitem);
}

例如,当我从我的数据库加载对象时,它缺少用户名。这是我的加载方法:

public ActionResult Index()
{
    var news = (from n in newsDB.newsitems orderby n.postdate descending select n).Take(10);
    return View(news);
}

有人知道为什么对象的某些变量没有保存吗?

最佳答案

是的,最好将 originalposter 定义为 GUID。如果我没记错的话,默认的 asp.net 成员提供程序将 UserId 定义为 Guid。 如果你这样做,它就会起作用。

那么你可以做如下操作:

newsitem.originalposter = (Guid)Membership.GetUser().ProviderUserKey;

关于c# - 如何在我的数据库中创建对用户系统中 ASP.NET 构建的用户的引用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8228336/

相关文章:

c# - 用于使角色左右移动的 Unity UI 按钮不起作用

c# - ASP.NET C# - 一种实时通知方法

c# - XAML : Setting the value of Storyboard animation from code behind

c# - 当我尝试将 Metadatatype 与 View 模型一起使用时,出现 InvalidOperationException

asp.net - Intratnet ASP.NET/SQL2K5 环境的角色安全最佳实践是什么?

PHP 不支持 SQL;空结果

java - 如何连接远程MySQL数据库?

c# - 数据库插入帮助?

c# - 使用 StreamWriter 在文件中写入 Unicode 字符串不起作用

c# - 使用谷歌地图的地址验证器