【问题标题】:How to get data from database in Microsoft BOT Framework 4如何在 Microsoft BOT Framework 4 中从数据库中获取数据
【发布时间】:2020-07-18 20:57:38
【问题描述】:

我正在使用 Microsoft bot 框架 4 构建聊天机器人。我想将对话内容存储在 SQL Server 数据库中,并想使用实体框架检索它们。

我尝试添加从数据库获取数据的代码,但模拟器报告错误。以下是我的代码:

        protected override async Task OnMembersAddedAsync(IList<ChannelAccount> membersAdded, ITurnContext<IConversationUpdateActivity> turnContext, CancellationToken cancellationToken)
    {
        foreach (var member in membersAdded)
        {
            if (member.Id != turnContext.Activity.Recipient.Id)
            {
                var start = GetStartDialog();

                if (start != null) {
                    var attachments = new List<Attachment>();
                    var reply = MessageFactory.Attachment(attachments);
                    var b = new HeroCard() { Title = start.Title, Text = start.Body, Buttons = new List<CardAction>() { new CardAction() { Title = "Option 1", Value = 1, Type = ActionTypes.MessageBack }, new CardAction() { Title = "Option 2", Value = 2, Type = ActionTypes.MessageBack } } };
                    reply.Attachments.Add(b.ToAttachment());

                    await turnContext.SendActivityAsync(reply, cancellationToken);
                }
            }
        }
    }

        public Dialog GetStartDialog()
    {
        BOTEntities db = new BOTEntities();
        Dialog retVal = db.Dialogs.Where(o => o.DialogID.Equals(1)).FirstOrDefault();
        return retVal;
    }

关于为什么我的代码没有执行的任何想法?

提前感谢您的帮助。

【问题讨论】:

  • 接受/投票支持更大的 Stack Overflow 社区和任何有类似问题的人。如果您觉得我的回答足够,请“接受”并点赞。如果没有,请告诉我我还能提供哪些帮助!

标签: c# sql-server botframework


【解决方案1】:

如果您还没有考虑过,请查看 BotBuilder-Community 存储库中的 Entity Framework storage 扩展。

它是为 Bot Builder .NET SDK v4 设计的,可以通过NuGet 安装。

简而言之,您包括状​​态存储组件,然后附加EntityFrameworkTranscriptStore()。这将允许您连接并执行用于创建表等的脚本。

由于这是一个内置的解决方案,这可能会减轻您收到的错误。

希望有帮助!

【讨论】:

    猜你喜欢
    • 2017-04-20
    • 1970-01-01
    • 1970-01-01
    • 2019-03-26
    • 2018-06-21
    • 2017-07-04
    • 2023-03-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多