Skip to main content
.NET 6.0+

IObjectSpace.FirstOrDefault<ObjectType>(Expression<Func<ObjectType, Boolean>>, Boolean) Method

Searches for the first object that matches the specified lambda expression. The generic parameter determines the object’s type. This method takes uncommitted changes into account.

Namespace: DevExpress.ExpressApp

Assembly: DevExpress.ExpressApp.v23.2.dll

NuGet Package: DevExpress.ExpressApp


ObjectType FirstOrDefault<ObjectType>(
    Expression<Func<ObjectType, bool>> criteriaExpression,
    bool inTransaction
    where ObjectType : class


Name Type Description
criteriaExpression Expression<Func<ObjectType, Boolean>>

A lambda expression to search for an object.

inTransaction Boolean

true if the method takes unsaved changes into account; otherwise, false.

Type Parameters

Name Description

The Type of an object to be returned.


Type Description

The first object that matches the specified lambda expression.


The following example uses a Parametrized Action to search for a Person by LastName. After that, this example invokes the default mail client and creates a new draft of a message for that person.

using DevExpress.ExpressApp;
using DevExpress.ExpressApp.Actions;
using DevExpress.Persistent.Base;
using System.Diagnostics;
// ...
public class SendEmailController : ObjectViewController<ListView, Contact> {
    public SendEmailController() {
        ParametrizedAction sendEmailAction = new ParametrizedAction(
            this, "SendEmail", PredefinedCategory.Edit, typeof(string));
        sendEmailAction.Execute += SendEmailAction_Execute;
    private void SendEmailAction_Execute(object sender, ParametrizedActionExecuteEventArgs e) {
        IObjectSpace objectSpace = View.ObjectSpace;
        string contactParamValue = e.ParameterCurrentValue as string;
        if (!string.IsNullOrEmpty(contactParamValue)) {
            Contact contact = objectSpace.FirstOrDefault<Contact>(p => p.LastName == contactParamValue, true);
            if (!string.IsNullOrEmpty(contact?.Email)) {
See Also